【发布时间】:2021-03-04 16:24:38
【问题描述】:
我在 info.txt 中有这样的信息:
KHNU 300 12 24
舍甫琴卡 500 15 32
关键绩效指标 900 13 35
戈尔斯科戈 645 14 45
我所需要的只是将这些信息写入结构数组,但作为新手,我不明白该怎么做。代码如下:
void readFile(FILE* pf);
struct University
{
char name[30];
int quantityOfStudents;
int quantityOfFaculties;
int quantityOfDepartments;
};
int main()
{
FILE* pf = fopen("info.txt", "rb");
readFile(pf);
system("pause");
return 1;
}
void readFile(FILE* pf)
{
if ((pf == NULL)) { printf("Error!"); exit(1); }
struct University *u[4] = malloc(4 * sizeof(struct University));
for (int i = 0; i < 4; i++)
{
fscanf(pf, "%s %d %d %d", &u[i]->name, &u[i]->quantityOfStudents, &u[i]->quantityOfFaculties, &u[i]->quantityOfDepartments);
}
}
但是,正如您可能猜到的那样,它不会扫描。
请告诉我们如何将信息从 .txt 扫描到结构数组的算法!
谢谢。
【问题讨论】:
-
它可以编译吗?
struct University *u[4] = malloc(4 * sizeof(struct University));看起来很不对劲。此外,您之后不会对u做任何事情,那么您怎么能声称它“不扫描”? -
@Eugene Sh.它不编译...
-
那么不是没有扫描,而是没有编译。首先通过一个一个地修复错误使其编译。
-
看起来您已经有了读取文件的算法(在循环中读取值)。现在你需要修复你的代码。