有没有 IO 功能永远不会失败的情况?

时间:2021-06-08 19:15:14

标签: c function file error-handling io

大多数 IO 函数(fopenfread 等)在系统遇到错误或传递的参数无效(fseek 为 {{ 1}}、SEEK_SETSEEK_CUR),但它们也可能由于程序员无法控制的原因而失败。检查是否成功很乏味,而且可能有时是不必要的。是否有任何情况下,即使在某些情况下可能会失败,函数也不会失败?比如SEEK_END以只读模式打开一个文件,文件指针是由fclose新返回的?我什么时候不必担心 IO 功能失败?这些是这种情况吗?

  • 文件以读取模式打开

  • 文件指针由 fopen 返回并进行空检查

  • 读取操作

还有哪些情况?

我不明白为什么 fopen 会在以 READ 模式打开的文件上失败,因为不会有任何缓冲区写入文件,所有需要发生的事情就是释放内存,而 {{ 1}} 不会失败,所以 fclose 也不应该失败,这个假设是否正确

我也应该避免 free 因为它不能表示错误吗?

0 个答案:

没有答案