几个小时后,我的程序无法继续写入文件,我想看看我是否可以检测到该文件和可能的 repoen 文件,或者只是启动一个新文件。我应该只检查 fail() 是否为真,如果是,则 repoen 文件?
问问题
99 次
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 回答