我正在查看 SO post C++ file stream open patterns ambiguity。我想知道fstream的默认文件打开方式。一个答案说,
上面的意思是下面的代码用完全相同的打开标志打开文件 fstream f("a.txt", ios_base::in | ios_base::out); ifstream g("a.txt", ios_base::out); ofstream 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 工具链。