MyException - 我的异常网
当前位置:我的异常网» C++ » 请问一个与C语言文件的输入输出有关的有关问题,新

请问一个与C语言文件的输入输出有关的有关问题,新手求指教。

www.MyException.Cn  网友分享于:2013-01-12  浏览:3次
请教一个与C语言文件的输入输出有关的问题,新手求指教。。。
看到这段代码,不太明白中间文件是如何打开,在哪里打开的。我试了建立一个相同名字文件,保存了5个人名和编号,结果程序运行显示都是0,求开导。。
void Creat()                 //输入信息
{
player t;
int i,j;
char tem;
cout<<"\t请输入选手的人数:";
cin>>n;
cout<<"现从磁盘中读取"<<n<<"个选手的信息如下"<<endl;
ifstream infile("score1.txt",ios_base::in);
for(i=0;i<n;i++)
infile>>pl[i].num>>pl[i].name>>pl[i].score;
infile.close();
for(i=0;i<n;i++)
cout<<" 第 "<<" 个选手的编号和姓名是:"<<pl[i].num<<"   "<<pl[i].name<<endl;
cout<<endl;
cout<<"\t\t现在开始输入选手的比赛情况"<<endl;
for(i=0;i<n-1;i++)
{
cout<<"请输入第 "<<i+1<<" 个选手和后面第 "<<n-(i+1)<<" 个选手的胜负关系(依次输入,W=胜  F=败)\n";
for(j=i+1;j<n;j++)
{
cin>>tem;
if(tem=='W'||tem=='w')
{
pl[i].score++;
pl[j].score--;
}
else if(tem=='F'||tem=='f')
{
pl[i].score--;
pl[j].score++;
}
else
{
cout<<"错误输入,请从新输入其后的胜负关系"<<endl;
j--;
continue;
}
}
}
}

------解决方案--------------------
ifstream infile("score1.txt",ios_base::in); 打开文件
for(i=0;i<n;i++)
infile>>pl[i].num>>pl[i].name>>pl[i].score; 读数据
infile.close(); 关闭文件
------解决方案--------------------
score1.txt:
1 name1 91
2 name2 92

n输入2
试试。
------解决方案--------------------
player t; 
这是什么啊?
------解决方案--------------------
帮你 Google 了一下:http://blog.csdn.net/soar_ersa/article/details/3908943
你可以通过调用成员函数is_open()来检查一个文件是否已经被顺利的打开了:
bool is_open();
它返回一个布尔(bool)值,为真(true)代表文件已经被顺利打开,假( false )则相反。

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有