fopen()打开文件fwrite()修改原文件的问题!!!
2011-02-21 19:56
363 查看
说是小问题,实际上还是给我带来了很大麻烦,编程中用fwrite()将一结构写入文件,修改文件时用fopen()打开文件
fopen()原型FILE * fopen(const char * path,const char *
mode),其中第三个参数有r,r+,w,w+,a,a+(二进制文件用加b)!我本意是修改原文件,所以用fseek()将文件指针移到我要修改的位置,然后用fwrite()将内容重新写入,学生信息的文件存储为“stu.dat”打开文件的地方最开始这样写的:
FILE *fp;
fp=fopen("stu.dat","wb+");......
开始知道wb+会覆盖原文件,但是指针移动到要写的位置应该不会,而且上网问过一些人也都是这么说的,结果是每次文件都被重新写入,以前的内容都会被新的覆盖,后来改为ab+结果
新写入的内容是追加进去的,试来试去只有这样好使:
FILE *fp;
fp=fopen("stu.dat","rb+");......
最初看书的时候说w+是可读写,r+也是读写,以为是一样的,莫非这个即使区别?
fopen()原型FILE * fopen(const char * path,const char *
mode),其中第三个参数有r,r+,w,w+,a,a+(二进制文件用加b)!我本意是修改原文件,所以用fseek()将文件指针移到我要修改的位置,然后用fwrite()将内容重新写入,学生信息的文件存储为“stu.dat”打开文件的地方最开始这样写的:
FILE *fp;
fp=fopen("stu.dat","wb+");......
开始知道wb+会覆盖原文件,但是指针移动到要写的位置应该不会,而且上网问过一些人也都是这么说的,结果是每次文件都被重新写入,以前的内容都会被新的覆盖,后来改为ab+结果
新写入的内容是追加进去的,试来试去只有这样好使:
FILE *fp;
fp=fopen("stu.dat","rb+");......
最初看书的时候说w+是可读写,r+也是读写,以为是一样的,莫非这个即使区别?
相关文章推荐
- fopen(),fwrite() ,fgets() 打开,写入和读取文件
- centos下fopen fwrite读写php文件失败的问题
- 关于fopen打开文件出错问题(数目受限)
- 解决vs2005打开UTF-8编码的文件乱码和修改新增文件时的默认编码方式的问题
- fopen里的wb和w的区别即fwrite的返回值与实际文件大小不一致的问题
- AIX/linux/unix fopen 打开2G文件问题
- fopen , fread fwrite 函数读写二进制文件 问题总结
- PHP使用fopen()函数打开文件提示权限不够问题
- C文件操作fopen打开标记设置问题【学习笔记】
- PHP语言 fopen()函数不能打开文件的问题
- fopen打开文件时位置指针的问题 .
- 【积累】fopen打开文件时位置指针的问题
- fopen()函数以"a+"方式打开一个不存在的文件后读写出现问题
- 关于标准C文件流读写问题:fopen,fread,fwrite,fclose的一些注意事项
- fopen , fread fwrite 函数读写二进制文件 问题总结
- fopen打开文件时位置指针的问题
- fopen打开文件失败的问题
- 修改IE以文本格式打开下载文件的问题
- Linux 打开文件并写入一段字符串,同时读出对应文件的信息--fopen()/fwrite()/fread()
- fopen打开文件的方式的问题