[求助]关于文件保存的问题
我要将在内存中的数据保存到磁盘的文件中,可以用fwrite或fpritf,直接写入就可以。但我想请教一下高手,如何实现覆盖保存又如何实现?非常谢谢!
2007-09-10 17:08




2007-09-10 17:10
2007-09-10 17:13
2007-09-10 17:15
在对文件保存的时侯,当某文件中有了一定的数据,
如果再向其保存数据的时侯,它不会像我们文本编辑器一样能插入,
程序只是从保存的位置开始,将以前的数据覆盖.
例如文件中有下列二进制数据:
0x12 0x23 0x12 0x23 0x12 0x23 0x12 0x23 0x43
如果从文件的开头位置,保存下列数据:
0x43 0x23 0x43 0x89 0x29 0x21 0x21 0x89 0x38 0x89
最终,文件中保存的数据如下:
0x43 0x23 0x43 0x89 0x29 0x21 0x21 0x89 0x38 0x89
可以参考下列程序:
#include<stdio.h>
int main(void)
{
FILE *fp=fopen("zhao.txt","w+");
fprintf(fp,"zhaoxufeng");
fseek(fp,0,0);
fprintf(fp,"12833");
fclose(fp);
}
#include<stdio.h>
int main(void)
{
FILE *fp=fopen("zhao.txt","w+");
fprintf(fp,"zhaoxufeng");
fseek(fp,0,0);
fprintf(fp,"12833723728322222222");
fclose(fp);
}
看一下程序运行后,文件中的数据.

2007-09-10 18:09