在C ++中将文件写入不存在的文件夹

时间:2015-10-12 09:55:44

标签: c++ file directory

如果您尝试使用c ++将文件写入某个不存在的文件夹,则不会抛出任何错误。 问题是这个文件存储在哪里?这可能导致硬盘泄漏吗?

代码:

std::ofstream training_result_file;
training_result_file.open("c:/un_exist/a.txt");
training_result_file << "Bla bla bla...";
training_result_file.close();

2 个答案:

答案 0 :(得分:2)

std::ofstream::open在失败时调用setstate(failbit)。要检查是否设置了failbit,您可以调用std::ofstream::fail或(在这种情况下更好)调用std::ofstream::is_open,如果最近一次调用open()成功,则返回true。

如果流没有关联文件(&#34;没有文件打开&#34;),则不能在其中写入任何内容。

答案 1 :(得分:1)

  

不会抛出任何错误

那是错误的

只是你没有检查错误。糟糕!

相关问题