我有
ofstream myfile;
myfile.open(filename,ios::out | ios::app);
if(myfile.good()){ do smtg};
myfile.write(taskToWrite->buffer,taskToWrite->length);
无论如何要检查写功能是否不起作用?我之前用good()检查过,但是如果我在写的时候出错了,我该如何检查呢?我不明白该函数返回了什么。
该write
函数返回流本身。因此,在您的情况下,它将返回对myfile
. 流类型可转换为bool
以检查其失败状态。所以你可以简单地使用这个:
if (myfile.write(taskToWrite->buffer,taskToWrite->length)) {
// Success
}
您可以使用std::ofstream::good()来检查流的状态。如果没有设置任何错误位,您可以假设一切顺利。