下面结出几种常见的打开模式:
ios::in --打开一个可读取文件
ios::out --打开一个可写入文件
ios::binary --以二进制的形式打开一个文件
ios::app --写入的所有数据将被加到文件的末尾
ios:trunk --删除文件原来已存在的内容
ios::nocreate --如果要打开的文件并不存在,那么以此参数调用open 函数将无法进行。
ios::noreplece --如果要打开的文件已存在,试图用open 函数打开时将返回一个错误。
下面是一个实例:
#include<fstream>
#include<iostream>using namespace std;
int main()
{
ofstream out("test.txt",ios::app);
if (!out)
{
cout << "文件打开失败!";
return 0;
}for(int i=0;i<10;i++)
{
out << i;
}
out << endl;
out.close();
return 0;
}
结果如图所示:

如果使用多种模式操作文件,那么可以用“|”即OR

#include<fstream>
#include<iostream>using namespace std;
int main()
{
fstream fp("test.txt",ios::in | ios::out);
if (!fp)
{
cout << "文件打开失败!";
return 0;
}
fp << "Iloveyou";
static char stc[100];
fp.seekg(ios::beg);//使得文件指针指向文件头,ios::end则是文件尾部
fp >> stc;
cout << stc << endl;
fp.close();
return 0;
}

本文详细介绍了C++中文件操作的不同打开模式,如ios::in用于读取,ios::out用于写入,ios::binary以二进制方式操作,并展示了ios::app追加模式和ios::trunc、nocreate等特性。通过实例演示了如何结合这些模式进行文件操作,以及一个实际创建和编辑文件的内容示例。
3万+

被折叠的 条评论
为什么被折叠?



