课程有误

qq_n9wlaydo Linux 下 C 编程——文... 最后由 macuicui 于2017年08月03日回复

  • 1 回答
  • 896 浏览

根据linux man page O_TRUNC在可写情况下才会截断。

 O_TRUNC

              If  the  file  already  exists and is a regular file and the access mode allows writing (i.e., is O_RDWR or O_WRONLY) it will be truncated to length 0.  If the file is a FIFO or terminal device

              file, the O_TRUNC flag is ignored.  Otherwise, the effect of O_TRUNC is unspecified.

  • macuicui 2017年08月03日 回答 #1楼
  • 应该跟文件是否被占用有关系吧。一些设备文件,如果被占用,O_TRUNC肯定是ignored状态。但是如果一个可写状态的文件,是可以被截断吧。

  • 0 评论