写返回值c

时间:2011-01-20 02:10:59

标签: c linux posix

在linux机器上,

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

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

2 个答案:

答案 0 :(得分:5)

the documentation中列出了几个原因,包括:

  
      
  • 如果write()请求写入更多字节而不是有空间(例如,进程'文件大小限制或介质的物理端),则只有字节数与应写的空间。

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

  •   

答案 1 :(得分:0)

如果卷空间不足或用户超过配额,则会发生这种情况。