C++ istringstream可以用于将一行带空格的字符串打开

istringstream对象可以绑定一行字符串,然后以空格为分隔符把该行分隔开来。

[cpp] view plaincopy
 
  1. #include<iostream>  
  2. #include<sstream>  
  3. using namespace std;  
  4. int main()  
  5. {  
  6.     string str, line;  
  7.     while(getline(cin, line))  
  8.     {  
  9.         istringstream stream(line);  
  10.         while(stream>>str)  
  11.             cout<<str.c_str()<<endl;  
  12.     }     
  13.     return 0;  
  14. }  

今天看到了一个比较有用的c++的输入输出控制类。C++引入了ostringstream、istringstream、stringstream这三个类,要使用他们创建对象就必须包含<sstream>这个头文件。
istringstream类用于执行C++风格的串流的输入操作。
ostringstream类用于执行C风格的串流的输出操作。
strstream类同时可以支持C风格的串流的输入输出操作。

istringstream的构造函数原形如下:
istringstream::istringstream(string str);
它的作用是从string对象str中读取字符。

  1. #include<iostream>  
  2. #include<sstream>        //istringstream 必须包含这个头文件
  3. #include<string>  
  4. using namespace std;  
  5. int main()  
  6. {  
  7.     string str="i an a boy";  
  8.     istringstream is(str);  
  9.     string s;  
  10.     while(is>>s)  
  11.     {  
  12.         cout<<s<<endl;  
  13.     }  
  14.       

输出是:

i

am

a

boy

原文地址:https://www.cnblogs.com/Erdos001/p/4496217.html