stringstream的简单介绍及使用方法

时间:2022-05-14 05:17:25

在C++学习之路上先后认识了iostream(输入输出流)、fstream(文件输入输出流),下面学习stringstream(字符串输入输出流)。stringstream又可细分为istringstream、ostringstream和stringstream三类,使用时需要包含头文件<sstream>。以下是其使用实例代码:

#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main(){
string str("How are you? 123 1 4.368");
stringstream ss(str);
cout<<ss.str()<<endl;
string tmp;
for(int i=0;i<3;i++){
ss>>tmp;
cout<<tmp<<" ";
}
int a;
ss>>a;
cout<<endl<<a<<endl;
bool b;
ss>>b;
cout<<b<<endl;
float c;
ss>>c;
cout<<c<<endl;
ss.clear();
ss.str("I am fine!");
while(ss>>tmp){
cout<<tmp<<" ";
}
}

stringstream的简单介绍及使用方法

上例可以看出sstream中的stringstream变量可以用于字符串与其他变量类型的转换,还具有模拟输入输出cin与cout等功能。clear函数是ios类的成员函数,用于清除标志位,这点在多个stringstream对象构造和使用时一定要进行clear,不然之前的缓冲就停留在输入输出流中,str()函数是stringstream的成员函数,使用无参数函数时返回一个string对象,使用字符串变量作为参数时,表示将一个字符串初始化给该对象的私有变量,在重复赋值一定要注意搭配使用clear函数。