c - 流上有哪些可能的错误条件会导致ferror()被设置?

标签 c stream ferror

从流中读取和写入的某些操作可能会在流中设置错误标志,可以使用ferror(stream)进行测试,虽然我很确定这一定是一个常见问题,我无法在 SO 或一般网络中找到所有可能的错误原因的列表。什么可能导致ferror()被设置?

特别是,我正在寻找在 Minix 3 上的标准输入上执行 fgets() 时可能出现错误的原因,但我也在寻找更通用的列表。

最佳答案

没有任何简单的可能错误列表。但是,根据您读取或写入的设备,问题可能包括:

  • 设备故障(短路、过热、老化......)
  • 设备已从机器中拔出(U 盘)
  • 设备已关闭或断电(外部磁盘驱动器)
  • 设备已弹出(CD-ROM)
  • 网络连接丢失(SAN、NAS)
  • 设备已满(没有剩余空间可供写入)
  • ...

关于c - 流上有哪些可能的错误条件会导致ferror()被设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10125127/

相关文章:

c# - 关于 Java 和 C# 中的多维数组的问题?

计算平均分组

node.js - NodeJS 从 https 流写入二进制文件

C++:如何创建具有所需内容的 istream?

windows - 如何使用 FFMPEG 流式传输桌面,并将输出设置为 http ://127. 0.0.1:8080

c - fread 和 ferror 不要设置 errno

c - 无法在 C 中创建 shell(Seg-Fault 和 ferror)

在没有声明的情况下调用另一个文件中的函数不会产生编译错误

c - 如何使用整数除法 SSE 指令?