写返回值c

Mic*_* Xu 1 c linux posix

在linux机器上,

写入文件的write()或writev()会写入少于给定文件的字节的原因是什么?

我知道它返回的有效返回值> 0和<你给写入调用的大小,但我很好奇为什么这应该发生....

Jam*_*lis 5

文档中列出了几个原因,包括:

  • 如果write()请求写入的字节多于有空间(例如,进程的文件大小限制或介质的物理端),则只写入有空间的字节数.

  • 如果write()在成功写入某些数据后被信号中断,它将返回写入的字节数.