0

几个小时后,我的程序无法继续写入文件,我想看看我是否可以检测到该文件和可能的 repoen 文件,或者只是启动一个新文件。我应该只检查 fail() 是否为真,如果是,则 repoen 文件?

4

1 回答 1

0

您无法从 std::ofstream 获取特定错误代码,只能获取操作是否成功,因此如果您需要查找特定错误代码(可能),您可能需要回退到特定于平台的接口。

但是,您可以或应该做的是检查 operator<<()、std::ofstream::write() 和 std::ofstream::flush() 的返回值,例如:

std::ofstream of("...");
if (! (of << data))
{
   retryOpenfile();
   return;
}

如果写入操作失败,您可以重试打开文件并在可能的情况下继续。

于 2012-10-04T20:19:13.460 回答