我尝试使用C中的fwrite()
,fseek()
覆盖文件的内容,但它不起作用。
文件大小为30.我想通过覆盖文件中的位置10~13来写“ABCD”。所以我在下面编程。
FILE *fp = fopen("file.txt", "a+");
fseek(fp, 10, SEEK_SET);
fwrite("ABCD", 1, 4, fp);
但"ABCD"
是在文件中的第30位之后写的。我找到了一些建议使用二进制模式(如"ab+"
),但'b'
is ignored on all POSIX conforming systems。
我怎样才能做到这一点?