c++程序,请问哪里出错了?为什么会显示这样的结果?

#include<iostream>#include<fstream>usingnamespacestd;intmain(){charch;fstreamout;out.... # include<iostream>
# include<fstream>
using namespace std;
int main()
{
char ch;
fstream out;
out.open("text.txt",ios::in|ios::out);
out<<"abcdefg";
out.seekp(0);
out.get(ch);
while(ch!=EOF)
{
cout<<ch;
out.get(ch);
}
cout<<endl;
return 0;
}
运行之后满屏都是烫字,后来再运行就变成了黑屏没有任何显示。我加入了if(!out)语句后显示显示运行错误和无法打开文件,后来再运行又变成了黑屏无任何显示,请问是怎么回事?
展开
 我来答
White_MouseYBZ
2019-12-12 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:7045万
展开全部
  1. 用out.open("text.txt",ios::in|ios::out);这种方式打开文件时,文件事先必须存在。所以本例中若当前目录下没有text.txt文件,则文件打开并没有成功。所以得先在当前目录下建立一个空文件text.txt。

  2. while(ch!=EOF)中的ch永远不可能为EOF,因为get(&)函数越过文件结尾时返回0而不是读取EOF。所以要把out.get(ch);while(ch!=EOF){...改成一句while(out.get(ch)){...就可以了。

  3. 经1、2改动后while循环中的out.get(ch);就多余了,必须删除。

微微徐来

2019-12-11 · 我就是我,走自己的路!
微微徐来
采纳数:537 获赞数:1694

向TA提问 私信TA
展开全部
肯定是程序出现的错误。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
浮沫已平
2019-12-12 · TA获得超过255个赞
知道答主
回答量:4160
采纳率:1%
帮助的人:281万
展开全部
显示什么结果,可以发给我看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式