关于C++ 中从文件读取结构体的问题。就是不知道文件里的结构体类型的数据有多少。
#include<iostream>#include<fstream>usingnamespacestd;structclerk{intnum;charname[20];...
#include <iostream>
#include <fstream>
using namespace std;
struct clerk
{
int num;
char name[20];
int age;
int wage;
};
int main()
{
clerk b[10];
ifstream infile("f3.dat",ios::in);
//for(int i=0;!(infile<<EOF);i++)
//{
int i=0;
while(1){
infile>>b[i].num;
if(b[i].num==EOF)
break;
infile>>b[i].name;
infile>>b[i].age;
infile>>b[i].wage;
cout<<b[i].num<<" ";
cout<<b[i].name<<" ";
cout<<b[i].age<<" ";
cout<<b[i].wage<<endl;
i++;
}
就是兄弟想通过循环读取结构体,但不知道如何使用EOF终止循环(因为不知道有多少数据),请指教 展开
#include <fstream>
using namespace std;
struct clerk
{
int num;
char name[20];
int age;
int wage;
};
int main()
{
clerk b[10];
ifstream infile("f3.dat",ios::in);
//for(int i=0;!(infile<<EOF);i++)
//{
int i=0;
while(1){
infile>>b[i].num;
if(b[i].num==EOF)
break;
infile>>b[i].name;
infile>>b[i].age;
infile>>b[i].wage;
cout<<b[i].num<<" ";
cout<<b[i].name<<" ";
cout<<b[i].age<<" ";
cout<<b[i].wage<<endl;
i++;
}
就是兄弟想通过循环读取结构体,但不知道如何使用EOF终止循环(因为不知道有多少数据),请指教 展开
4个回答
2011-10-25
展开全部
while(1)
改为
while(infile)
改为
while(infile)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
或者直接改成
while ( infile >> b[i].num)
下边再执行你想要的操作
while ( infile >> b[i].num)
下边再执行你想要的操作
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是想当读取数据完毕后就EOF吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询