如何用C++从txt中读取数据到结构体?

2024-11-30 23:30:50
推荐回答(2个)
回答(1):

你这数据最好是由程序代码格式化地生成,然后你才能用相同的数据格式去读。
你要是用手动生成的话,以这样的方式去赋值不出错才怪。
string的长度你知道?
你可以定义如下的数据格式
typedef struct _PROPERTY
{
char szName[32];
char szSex[4];
} PROPERTY;

typedef struct _STUDENT
{
int index;
PROPERTY pro;
unsigned int RoomNum;
char szStuNum[16];
} STUDENT;

然后你用这个结构去产生A.txt文件。再用这个结构读取就不会出错。一次读取sizeof(STUDENT)长度的数据。

如果你的数据是手工生成的,那么你只能通过判断是不是空格来进行赋值。
getline之后,取得一行,那么就判断哪个字符不是空格,然后按照设置的规则进行手动赋值就可以了。这个也不难实现。用两个指针加上几个char和int互转的函数就可以实现。

回答(2):

不明确 A.text是什么样子?
01 张成成 男 501 87732111
02 张成 男 501 87732111
还是
01 张成成 男 501 87732111
--------------------------------------------------------------------------------------------
02 张成 男 501 87732111