代码之家  ›  专栏  ›  技术社区  ›  foobarfuzzbizz

在附加模式下打开文件时,如何重新定位文件指针?

  •  1
  • foobarfuzzbizz  · 技术社区  · 14 年前

    我试图在文件中间插入一些数据。我已在附加模式下打开文件,如下所示:

    file = fopen(msg->header.filename, "ab");
    

    然后我尝试在文件中寻找所需的偏移量,因此:

    fseek(file, msg->header.offset, SEEK_SET);
    

    但是,当我尝试这样写的时候:

    int bytesWritten = fwrite(msg->message, 1, msg->header.length, file);
    

    所有数据都写在文件的末尾,而不是文件的中间。

    这是因为我正在使用附加模式吗?我将以写模式打开,但我需要在文件中保留现有内容。

    1 回复  |  直到 14 年前
        1
  •  6
  •   user411313    14 年前