当前位置:   article > 正文

C++中的stringstream用法_c++ stringstream

c++ stringstream

目录

stringstream介绍       

stringstream应用

1.转换类型

2.数据切分

3.选择特定符号进行数据分割

stringstream介绍       

       在C++中,std::stringstream是一个用于字符串流处理的类,它可以将一个字符串转换为流对象,然后使用流操作符(<<、>>)进行输入输出操作。可以使用std::stringstream类将一个字符串分割成多个数据并进行处理。

       当使用以下代码创建一个std::stringstream对象时

std::stringstream ss(s);

       其中,s是一个字符串,该代码会将字符串s转换为一个std::stringstream对象,从而可以使用流操作符(<<、>>)对该对象进行输入输出操作。stringstream ss中的ss只是一种变量而已,你可以随便写一个;初始化就是stringstream(line),line就是string类型的变量;在后面对stringstream赋值就是ss<<line;将stringstream导出就是ss>>line;

stringstream应用

1.转换类型

  1. ​​#include<iostream>
  2. #include<string>
  3. #include<sstream>
  4. using namespace std;
  5. int main()
  6. {
  7. string line;int x;
  8. while (getline(cin, line))
  9. {
  10. stringstream ss;
  11. ss << line;//赋值
  12. ss >> x;//导出
  13. cout << x << endl;
  14. }
  15. return 0;
  16. }

       可以直接将字符转成数字,例:字符'1'直接变成1;学过c的都知道字符变成数字要减去相应的ASIIC码,但c++不需要。

2.数据切分

  1. #include<iostream>
  2. #include<string>
  3. #include<sstream>
  4. using namespace std;
  5. int main()
  6. {
  7. string line;int x;
  8. while (getline(cin, line))
  9. {
  10. int sum = 0;
  11. stringstream ss;
  12. ss << line;
  13. while (ss >> x)//ss >> x就像是cin>>一样遇到空格就停止输入
  14. sum += x;
  15. cout << sum << endl;
  16. }
  17. return 0;
  18. }

3.选择特定符号进行数据分割

  1. #include<iostream>
  2. #include<cstring>
  3. #include<sstream>
  4. using namespace std;
  5. int main()
  6. {
  7. string s;
  8. cin >> s;
  9. stringstream ss(s);
  10. while (getline(ss, s, '/'))
  11. {
  12. cout << s << " ";
  13. }
  14. return 0;
  15. }
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/736028
推荐阅读
  

闽ICP备14008679号