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

来源:互联网 发布:网络教育专升本有用吗 编辑:程序博客网 时间:2024/05/16 11:11

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

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

#include <iostream>#include <string>#include <sstream>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<<sum<<"\n";    }    return 0;}

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

0 0
原创粉丝点击