C++ stringstream
stringstream 特有的操作
sstream strm; // strm是一个为未绑定的stringstream对象.
sstream strm(s); // 保存 string s的一份拷贝.
strm.str(); // 返回strm所保存的string的拷贝.
strm.str(s); // 将s拷贝到strm中.
- 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;
}
return 0;
}
/*
输出结果:
i
am
a
boy
*/
C++ stringstream 的getline的用法
getline(istream &in, string &s)
istream& getline(istream &in, string &line, char delim)
in是一个输入流,如cin、ifstream等。line是将输入流中的字符串放到这个string中,delim是结束字符,默认情况下是‘\n’
功能:从输入流中读入字符,存到string变量
直到出现以下情况为止:
读入了文件结束标志
读到一个新行
达到字符串的最大长度
如果getline没有读入字符,将返回false,可用于判断文件是否结束