一个二进制文件的读写和修改问题
要求实现的的功能为:
现有一个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 文件...
[解决办法]
同意楼上