覆盖linux系统调用的文件内容

时间:2014-09-16 05:45:19

标签: linux linux-kernel

我可以在“open”系统调用中使用O_APPEND标志将一个文件内容附加到其他文件。但是当我尝试用O_WRONLY打开文件而没有覆盖现有内容的任何标志时,我会挣扎很多来覆盖现有的内容。有人可以帮我一下吗?

1 个答案:

答案 0 :(得分:2)

添加O_TRUNC(如果你想要抛弃所有以前的东西),或者将fd设置为0(如果你想“插入”它,就像插入光标一样)。请注意,您可能无法立即看到更改 - 这是因为缓冲的I / O.您可以使用O_SYNC确保刷新每个写入。 (可能不会这样做。)