如何重写特定的文件块

时间:2010-06-25 02:23:58

标签: c unix

我想重写一个文件中的特定块,但它不适合我

例如,如果我想重写文件的偏移量4,我使用了lseek(fd,4,SEEK_SET)并调用了写入系统调用,但是它写在文件末尾而不是偏移量为4。

1 个答案:

答案 0 :(得分:3)

请勿使用O_APPEND。无论您是否寻求,它都会将所有内容附加到文件的末尾。

使用:

open("file.txt", O_RDWR);

您认为该文件已存在,因此我不明白您使用O_CREAT的原因。