如何用fopen函数在原来的文件的头部追加一些内容

da_xu 2004-08-31 10:42:06
我用fopen中"r+"模式打开文件,并用fseek函数定位到文件开始位置,然后用fwrite在头部追加一些内容,但每次都是覆盖了原来的内容,请问我如何可以做到在文件头部追加内容而不覆盖原来的内容.
以下是我的代码,请指教
FILE* fpwav;
if( (fpwav = fopen( wavfilename, "r+" )) == NULL ) {
return false;
}
fseek(fpwav, 0, SEEK_SET);
fwrite(&riffChunk, 1, sizeof(RIFFCHUNK), fpwav);
fwrite(&waveFmtChunk, 1, 0x12+12, fpwav);
fwrite(&dataChunk, 1, sizeof(DATACHUNK), fpwav);
fclose( fpwav );
...全文
755 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
chillman 2004-08-31
  • 打赏
  • 举报
回复
没有.
除非你直接写文件系统的分配表和直接写存储设备.难度很大噢:)
da_xu 2004-08-31
  • 打赏
  • 举报
回复
这种方法对于大的文件来说效率太低有更好的办法吗
  • 打赏
  • 举报
回复
建立一个新的临时文件,把要添加的内容写进去,然后加上原文件的内容. 删除原文件,把临时文件改回去就OK了

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧