文件输入输出和string流

文件流:

头文件fstream定义了三个类型:ifstream读取,ofstream写入,fstream读取和写入,其继承了iostream。当要读写文件时,把文件流对象与文件关联起来,每个文件流都定义了open成员函数,并对文件视情况打开为读或写的模式。

ifstream in(file);//定义了一个输入流in,来读取file
ostream out;//定义了一个输出流,但并未关联任何文件

文件流的成员函数open和close,调用形式:文件流.open(文件)   ,文件流.close()    ,open函数调用成功,failbit会被置位。但open函数可能会调用失败,所以要进行检测。一旦一个文件流已经打开,它就保持与对应的文件相关联,对一个已经打开的的文件流调用open会失败,并导致failbit被置位,随后使用文件流的操作都会失败。当一个fstream对象呗销毁时,close自动调用。


文件模式:每个流都有一个文件模式,用来指出如何使用文件。

in           以读的方式打开

out         以写的方式打开

app       每个操作前均定位到文件末尾

ate        代开文件后立即定位到文件末尾

trunc      截断文件

binary   以二进制方式进行


以out模式打开文件会丢弃已有数据,默认情况下,当我们打开一个ostream时,文件的内容会被丢弃。阻止一个ofstream清空文件内容的方法是同时指定app或in模式,  每次调用open时都会确定文件模式。


string流:

sstream头文件定义了三个类型:istringstrean读取,ostringstream写入,stringstream读取和写入。

当我们的某些工作是对整行文本进行处理,而其他一些工作是处理行内的单个单词时,通常使用istringstream。

当我们逐步构造输出,希望最后一期打印时,用ostringstream。


你可能感兴趣的:(C/C++)