注意:IO对象是不能进行拷贝的,所以不能进行流对象的赋值、初始化流对象和拷贝流对象操作。同时也因此不能将形参或返回
类型设置为流类型。进行IO操作的函数通常通过引用的方式传递和返回流。
文件输出流包含多种打开模式:
ofstream::out,以写的方式打开,默认截断文件即将之前的文件内容都丢弃;
app,每次写操作之前都定位到文件末尾;
trunc,截断文件。
其中fstream继承于iostream,文件流可以像之前的cin和cout一样使用IO运算符(>>和<<)来读写文件。
其中<<为输出运算符,将运算符右侧对象写到左侧对象中,左侧对象只能是ostream、ofstream或ostringstream,运算符返回左
侧运算对象,因此可以进行叠加;
>>为输入运算符,与输出运算符<<类似,从运算符左侧的流读数据赋值给右侧对象,返回左侧运算对象。
std::endl为操纵符,用来刷新缓存区,确保确保输出真正写入输出流中,而不仅仅是停留在缓存区中。
也可以使用getline(istream,string)来读取文件中的字符。
ofstream out;//声明一个写文件流
out.open("/home/thorking/CLionProjects/1.txt",ofstream::app);
//初始化该流,并声明打开模式为追加,
out<<"1234"<<endl;//文件流和string流都继承于iostream,所以可以使用<<这个输出运算符将右侧对象“1234”
//写入到输出文件流out
out.close();
ifstream in("/home/thorking/CLionProjects/1.txt");
string line,line1;
in>>line1;
getline(in,line);
cout<<line<<endl;
cout<<line1<<endl;
return 0;
简单学习,有待更新