检查错误,同时写入文件
问题描述:
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
}