C++文件操作流

头文件

头文件 描述
ofstream 输出文件流,创建文件并写入信息
ifstream 输入文件流,从文件中读取信息
fstream 同时具有ofstream和ifstream的两种功能,既可以写也可以读

打开文件

open():

void open(const char*filename,ios::openmode mode);

注意:这里的filename需要已经存在的真实路径,若不是真实存在的路径无法自动创建路径导致打开失败!

模式标志 描述
ios::app 追加模式,所有写入都追加在文件末尾
ios::ate 文件打开后定位到文件末尾
ios::in 打开文件用于读取
ios::out 打开文件用于写入
ios::trunc 如果文件已经存在,将其内容在文件打开之前截断,并将文件长度设置为0

如果想要在打开文件后保留原文件内容并写入:

ofstream ofs;
ofs.open("filename",std::ios::out | std::ios::app);

如果想打开文件后清空文件内容再写入:

ofstream ofs;
ofs.open("filename",std::ios::out | std::ios::trunc);

如果想原本文件存在,删除后重新创建:

ofstream ofs;
ofs.open("filename",std::ios::out);

关闭文件

在调用open()函数之后,对文件操作完成之后,就要调用close()函数,关闭所有流,释放分配的内存;

void close();

写入文件,读取文件

使用 << 向文件中写入信息;(<< 出,从代码中出去到屏幕或者文件)
使用 >> 读取文件中的信息; (>>入,从键盘中输入到程序或者文件)
向txt文件中写入多位小数点后的浮点数时,容易写为科学计数法的情况,这时需要控制小数点后面的位数,见一下代码:

ofs.setf(ios::fixed, ios::floatfield);  // 设定为 fixed 模式,以小数点表示浮点数
ofs.precision(7);  // 设置精度 7

你可能感兴趣的:(C++,c++,ios,objective-c)