c/c++语言开发共享在追加模式下打开文件时,如何重新定位文件指针?

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

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

然后,我尝试在文件中寻找所需的偏移量,如下所示:

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

但是,当我尝试fwrite时:

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

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

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

    查看“a”(APPEND)模式的ANSI C函数fopen的规范: 所有写入操作都发生在文件的末尾。 你的fseek将被忽略。

      以上就是c/c++开发分享在追加模式下打开文件时,如何重新定位文件指针?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/549902.html

      (0)
      上一篇 2021年1月14日
      下一篇 2021年1月14日

      精彩推荐