关于C++中输入输出的小结——读写文件、string

常用函数和类的介绍

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();

猜你喜欢

转载自blog.csdn.net/happyjacob/article/details/81226510