C++的sstream标准库详细介绍

1.sstream标准库常用于格式转换。
2.C++引入了ostringstream、istringstream、stringstream这三个类,分别进行流的输入、输出、输入输出操作.
3.头文件#include
4.stringstream中,多次进行转换的时候,要使用成员函数clear()。而通常当我们发现输入有错又需要改正的时候,使用clear()更改标记为正确后,同时也需要使用get()成员函数清除输入缓冲区,以达到重复输入的目的。
5.sstringstream ss(str)表示读取str中的单字,比如hello world ,就会读取hello和world。
参考1 侧重sstream的用法
参考2 侧重sstream的意义

例题:每输入一行数据,求出一个和。
想法:一般两种方案,一种用getchar()边读边算,但容易写错;二是每次读取一行,然后再扫描该行的字符,同时计算结果,代码如下:

#include 
#include 
#include 
using namespace std;
int main()
{
    string line;
    while(getline(cin,line))//用getline读取一行数据
    {
        int sum=0,x;
        stringstream ss(line);//用这一行创建一个字符串流ss
        while(ss>>x)//像读取cin那样读取ss
        {
            sum+=x;
        }
        cout<"\n";
    }
    return 0;
}

ps:可以把string作为流进行读写,定义在sstream头文件中。
但虽然string和sstream都很方便,但string很慢,sstream更慢,应谨慎使用。

你可能感兴趣的:(语言自带)