C++中的 istringstream

今天在看别人的C++程序源码的时候,看到了一个比较有用的C++的输入输出控制类。因为之前没有使用过,故特地学习了一下,在此总结。

程序源码中使用了这样的语句:

ifstream fin(fname);
int a,b,c;
string s;
getline(fin, s);
istringstream ss(s);
ss >> a>>b>>c;

将读入的一行中的三个整数存储到了a, b, c中。
查了一下相关文档:C++引入了ostringstream、istringstream、stringstream这三个类,要使用他们创建对象就必须包含<sstream>这个头文件。

istringstream类用于执行C++风格的串流的输入操作。

ostringstream类用于执行C风格的串流的输出操作。

strstream类同时可以支持C风格的串流的输入输出操作。

istringstream的构造函数原形如下:

istringstream::istringstream(string str);

它的作用是从string对象str中读取字符。
 

#include<iostream>  
#include<sstream>        //istringstream 必须包含这个头文件
#include<string>  
using namespace std;  
int main()  
{  
    string str="i am a boy";  
    istringstream is(str);  
    string s;  
    while(is>>s)  
    {  
        cout<<s<<endl;  
    }  
      
} 

输出是:

i

扫描二维码关注公众号,回复: 4556275 查看本文章

am

a

boy

猜你喜欢

转载自blog.csdn.net/qq_41598072/article/details/84960587
今日推荐