从文件中读取数据到结构体数组
时间: 2023-12-18 19:29:20 浏览: 327
为了从文件中读取数据到结构体数组,我们需要完成以下步骤:
1.定义结构体,结构体中包含文件中的每个数据字段。
2.打开文件并读取数据。
3.将数据存储到结构体数组中。
下面是一个示例代码,演示如何从文件中读取数据到结构体数组:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义结构体
typedef struct {
int id;
char name[20];
float score;
} Student;
int main() {
FILE *fp;
Student students[10];
int i = 0;
// 打开文件
fp = fopen("students.txt", "r");
if (fp == NULL) {
printf("Failed to open file.\n");
exit(1);
}
// 读取数据
while (fscanf(fp, "%d %s %f", &students[i].id, students[i].name, &students[i].score) != EOF) {
i++;
}
// 关闭文件
fclose(fp);
// 输出数据
for (int j = 0; j < i; j++) {
printf("ID: %d, Name: %s, Score: %.2f\n", students[j].id, students[j].name, students[j].score);
}
return 0;
}
```
在上面的示例代码中,我们首先定义了一个名为Student的结构体,它包含了学生的ID、姓名和分数。然后我们打开了一个名为students.txt的文件,并使用fscanf函数从文件中读取数据到结构体数组中。最后,我们输出了结构体数组中的数据。
阅读全文