常用函数和类的介绍
getline(istream& , string&)
功能:将输入流中的数据输出到string对象中,直到遇到\n。可以用于从文件或者屏幕中将一行文本接收并存储下来。
常用的io类有iostream,fstream,stringstream
其中使用的时候分别要包含如下头文件iostream、 fstream、sstream 具体的类的使用和介绍推荐阅读C++ IOStream,文档中给了比较详细的介绍。本文仅限于把几种常用的输入输出用法加以总结。
1、连续读取字符串
string s;
vector<string> ivec;
while(cin>>s)
ivec.pushback(s);
可以通过空格作为间隔来连续输入多个字符串,输入ctrl+z敲击回车可以结束输入流,相当于EOF。
2、将一行字符读入
string line;
getline(cin,line);
引用上面的函数将屏幕中的一行字符存入到string对象line中。
3、将一行文本拆分成字符存储
假设一行文本存储在line中,line中的字符串之间以空格隔开,可以用下面的方法简单的将每个字符串存储到vector类中。
itringstream stream(line);
string word;
while(stream>>word)
wordvec.pushback(word);
4、从文件中按行读取字符串
iftream ifile;
string line;
vector<string> linevec;
while(getline(ifile,line))
linevec.push_back(line);
5、将字符串写入文件中
ofstream ofile("data.txt",ofstream::out); //此处将数据存入txt,out为打开并清空文件
for(vector<string>::iterator cnt=linevec.begin();cnt!=linevec.end();++cnt)
ofile<<(*cnt)<<endl; //此处勿忘输入回车
ofile.close();