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

 我来答
dtlhjnmg
2013-09-22 · TA获得超过144个赞
知道答主
回答量:29
采纳率:0%
帮助的人:39.7万
展开全部
原因:
这里存在的问题是:fopen 打开的文件,不执行关闭操作,是不会保存数据至文件的。
你虽然执行了fprintf 写入了数据,但在fclose前就从文件获取数据,数据是没有保存在文件内的,因此该操作获取不到任何数据。

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

谢谢采纳!
IT孤鹜
2013-09-22 · TA获得超过4198个赞
知道大有可为答主
回答量:3960
采纳率:71%
帮助的人:3577万
展开全部
在fprintf 下面加上
fseek(fp, 0, SEEK_SET);

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

while循环里面还要加上
ch=fgetc(fp);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-09-22
展开全部
跟你文件的指针有关系,当你添加完数据的时候,文件指针是移动到了最后
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2fe62d8
2013-09-22 · 超过10用户采纳过TA的回答
知道答主
回答量:27
采纳率:0%
帮助的人:20.5万
展开全部
fprintf后加
fseek(stream, 0, SEEK_SET);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式