【发布时间】:2021-07-11 13:33:55
【问题描述】:
我有一个名为 cstats.txt 的输入文件,它只有一行:
name:age:phone:city
我有一个 struct Citizen:
typedef struct {
char name[100];
int age;
char city[100]
char phone[10];
} Citizen;
我需要从文件中读取并将属性保存在结构中:
我试过了:
Citizen a;
fread(a, sizeof(Citizen), 1, "cstats.txt");
但我认为它没有保存属性。
我在 SO 上搜索了这里,但我发现的只是逐行阅读。
谢谢!
【问题讨论】:
-
逐行读取,然后解析行。 [或者:一次读取一个字符,然后将它们组合起来]
-
fread的最后一个参数应该是指向文件的指针。
-
mprove,一个常见的被忽略的考虑是如果输入格式不正确该怎么办。您希望如何报告该错误?另外,这 4 个字段中的任何一个都可以为空吗?