假设我使用 fopen 成功打开文件进行读取,但 fgets 失败。我希望我的函数能够适本地设置 errno。
有许多与文件操作相关的 errno 值,但似乎没有一个明确表示“阅读本文时发生了一些事情”。 fgets 也不设置 errno。
从已打开的文件读取失败时使用的最接近的 errno 值是什么?
最佳答案
虽然 C 标准本身很少要求设置 errno
,但假设您使用的是 POSIX 或类 POSIX 系统,fgets
将已经设置 errno
为适合您的值。请参阅 fgets
的规范:
它指定它可能会因为 fgetc
定义的任何原因而失败:
这样做的原因是 C 和 POSIX 都通过重复调用 fgetc
或 fputc
来指定所有复合 stdio 函数。
关于c - 用于 fgets 失败的最准确的 errno 值是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46737158/