用c语言向一txt文件写入内容后将该写入的内容从txt输出到屏幕上,错在哪?

如题所述

原因:
这里存在的问题是:fopen 打开的文件,不执行关闭操作,是不会保存数据至文件的。
你虽然执行了fprintf 写入了数据,但在fclose前就从文件获取数据,数据是没有保存在文件内的,因此该操作获取不到任何数据。

解决方法:
向文件写完数据后,马上执行fclose操作,完成数据的保存,然后再执行fopen 打开该文件,进行fgetc获取数据,打印到屏幕,使用完毕后在关闭该文件。需要注意的地方是,第二次打开文件的操作需要修改为只读或其他读取模式,即 “r+”而不再是 "w+"。

谢谢采纳!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-22
在fprintf 下面加上
fseek(fp, 0, SEEK_SET);

就可以了,把文件指针,移动到开始位置

while循环里面还要加上
ch=fgetc(fp);
第2个回答  2013-09-22
跟你文件的指针有关系,当你添加完数据的时候,文件指针是移动到了最后
第3个回答  2013-09-22
fprintf后加
fseek(stream, 0, SEEK_SET);