如果您尝试使用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();
答案 0 :(得分:2)
std::ofstream::open
在失败时调用setstate(failbit)
。要检查是否设置了failbit,您可以调用std::ofstream::fail
或(在这种情况下更好)调用std::ofstream::is_open
,如果最近一次调用open()
成功,则返回true。
如果流没有关联文件(&#34;没有文件打开&#34;),则不能在其中写入任何内容。
答案 1 :(得分:1)
不会抛出任何错误
那是错误的。
只是你没有检查错误。糟糕!