一个二进制文件的读写和修改问题

freshui 2007-03-02 01:13:12
要求实现的的功能为:
现有一个1M大小的二进制文件

要求将文件中从第i个字节开始的m个字节修改为自己定义的数

请问用什么函数或方法才能改写而不是插入这些数据呢?

...全文
496 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
happytang 2007-03-05
  • 打赏
  • 举报
回复
同意楼上
Baku 2007-03-05
  • 打赏
  • 举报
回复
先用fopen 打开你的文件,在fseek 得到需要修改的起始位置,再用fwrite 写入你要写的数据,fclose 文件...

lidongri 2007-03-02
  • 打赏
  • 举报
回复
可以用重建文件方法来解决
FILE *fin, *fout;
fin = fopen(你的文件, 二进制读方式);
fout = fopen(新建的文件名,二进制写方式);
int i, m;
for (int s=0; s<i; s++)
{
读取fin并写如fout;
}
for (s=i; s<m; s++)
{
读取fin,但忽略
}

写入fout,你要写的东西;
for (; ;)
{
读取fin,并写入fout;
}

fclose(fout);
fclose(fin);
-----------------
这里假设打开文件是正常的.

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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