C++程序 :将有10个整数的数组存入到一个文本文件中,然后再从这个文件中读数据并显示在屏幕上
#include<iostream>#include<fstream>usingnamespacestd;intmain(void){ ...
#include<iostream>#include<fstream>using namespace std;int main(void){ int a[]={1,5,78,90,25,16,18,86,91,7},n=10,x; fstream f; f.open("my_file.txt",ios::out); if(f.fail()) { cout<<"打开文件失败!"<<endl; exit(1); } for(int i=0;i<n;i++) f<<a[i]<<" "; f.close(); f.open("my_file.txt",ios::in); if(f.fail()) { cout<<"打开文件失败!"<<endl; exit(1); } while(!f.eof()) { f>>x; cout<<x<<" "; } cout<<endl; f.close(); system("PAUSE"); return 0;} 输出结果是:1 5 78 90 25 16 18 86 91 7 7为什么输出了两次最后一个数?请问下是不是while(!f.eof())判断的是结束符 因为最后一个数7后面是空格 !f.eof()为真 所以在输出一次最后一个数7?
展开
4个回答
2017-10-09
展开全部
while(f>>x){
cout<<x<<" ";
}
///////////这样写
cout<<x<<" ";
}
///////////这样写
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我也遇到过,你的说法有误
while(!f.eof()&&f>>x)
{
cout<<x<<" ";
}
while(!f.eof()&&f>>x)
{
cout<<x<<" ";
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你不能把你上面的代码 规范化了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询