读书人

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

发布时间: 2012-03-18 13:55:39 作者: rapoo

一个二进制文件的读写和修改问题
要求实现的的功能为:
现有一个1M大小的二进制文件

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

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



[解决办法]
可以用重建文件方法来解决
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);
-----------------
这里假设打开文件是正常的.


[解决办法]
先用fopen 打开你的文件,在fseek 得到需要修改的起始位置,再用fwrite 写入你要写的数据,fclose 文件...


[解决办法]
同意楼上

读书人网 >C语言

热点推荐