【发布时间】:2009-04-24 16:12:18
【问题描述】:
如果对 fread() 的调用返回 0 并且 ferror() 指示错误(相对于 EOF),是否可以重试读取,还是关闭并重新打开文件更好?
我无法完全重新开始 - 输入文件已被部分处理,无法撤消(假设我一次将一个块写入套接字,并且由于现有协议,无法告诉远端,“没关系,我需要重新开始”)。
我可以 fclose() 和 fopen() 文件,fseek() 过去已经处理的数据,然后从那里继续 fread()-ing,但这一切都需要吗?
【问题讨论】:
标签: c++ c error-handling recovery fread