C++ 关于文件操作读取txt到结构体中的问题

txt文件格式如下(中间是空格):wang18001li19002zhao20003...----------------------------------------... txt文件格式如下(中间是空格):
wang 18 001
li 19 002
zhao 20 003
...
-------------------------------------------------------------------
将每行的数据分别存入结构体p[20]中,结构体如下:
struct people{
string name;
int age;
string id;
}p[20];
--------------------------------------------------------------------
求解如何实现?
展开
 我来答
匿名用户
推荐于2016-09-18
展开全部
简单点可以这么写
#include <string>
#include <iostream>
#include <fstream> 
using namespace std;

struct people
{
string name;
int age;
string id;
}p[20];

int main()
{
int n = 0;
ifstream in("a.txt", ios::in);
if(!in.is_open())
{
cout << "Error: opening file fail" << endl;
exit(1);
}
while(!in.eof() && n < 20)
{
in >> p[n].name >> p[n].age >> p[n].id;
n++;
}

//test
for (int i = 0; i < n; ++i)
cout << "name:" << p[i].name << " age:" << p[i].age << " id:" << p[i].id << endl;

    in.close();
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mafangsan
2015-11-28 · TA获得超过1.2万个赞
知道大有可为答主
回答量:1万
采纳率:71%
帮助的人:2512万
展开全部

代码片段如下:

ifstream ifile("文件名");
int i=0;
if(ifile!=0)
{
    while(ifile.eof()==false)
    {
        ifile>>p[i].name>>p[i].age>>p[i].id;
        i++;
    }
}
ifile.close();
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式