【发布时间】:2018-04-07 12:00:46
【问题描述】:
我正在查看 SO 帖子 C++ file stream open modes ambiguity。我想知道fstream的默认文件打开方式。一个答案说,
上面的意思是下面的代码用以下代码打开文件 完全相同的打开标志 fstream f("a.txt", ios_base::in | ios_base::out); ifstream g("a.txt", ios_base::out);流的 h("a.txt", ios_base::in);
所以如果我理解正确,如果我创建 fstream 的对象,我应该能够读取或写入。
但下面的代码不会将任何数据写入文件
fstream testFile1;
testFile1.open("text1.txt");
testFile1<<"Writing data to file";
testFile1.close();
但是,如下所示的添加模式会创建带有数据“将数据写入文件”的文本文件
testFile1.open("text1.txt", ios::out);
那么默认模式是否是实现定义的?我正在使用 TDM-GCC-64 工具链。
【问题讨论】:
-
模式
ios::in,以及ios::in | ios::out,要求文件已经存在。否则open将失败 - 你忘了检查...
标签: c++ file-handling tdm-gcc