1

我有

ofstream myfile;
myfile.open(filename,ios::out | ios::app);
if(myfile.good()){ do smtg};

myfile.write(taskToWrite->buffer,taskToWrite->length);

无论如何要检查写功能是否不起作用?我之前用good()检查过,但是如果我在写的时候出错了,我该如何检查呢?我不明白该函数返回了什么。

4

2 回答 2

7

write函数返回流本身。因此,在您的情况下,它将返回对myfile. 流类型可转换为bool以检查其失败状态。所以你可以简单地使用这个:

if (myfile.write(taskToWrite->buffer,taskToWrite->length)) {
  // Success
}
于 2013-05-06T14:08:57.557 回答
0

您可以使用std::ofstream::good()来检查流的状态。如果没有设置任何错误位,您可以假设一切顺利。

于 2013-05-06T14:11:58.023 回答