【发布时间】:2011-05-01 12:50:04
【问题描述】:
我正在尝试在文件中间插入一些数据。我以附加模式打开文件:
file = fopen(msg->header.filename, "ab");
然后我尝试在文件中寻找所需的偏移量:
fseek(file, msg->header.offset, SEEK_SET);
但是,当我这样尝试 fwrite 时:
int bytesWritten = fwrite(msg->message, 1, msg->header.length, file);
所有数据都写入文件末尾而不是文件中间。
这是因为我使用的是附加模式吗?我会以写入模式打开,但我需要将现有内容保留在文件中。
【问题讨论】: