写文件时检查错误

checking error while writing to a file

本文关键字:错误 检查 文件      更新时间:2023-10-16

我有

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()来检查流的状态。如果没有设置错误位,则可以假设一切正常。