在C语言中,可以使用指针来读取文件并填充结构数组。下面是一个示例代码,演示了如何实现这个过程:
#include <stdio.h>
#define MAX_SIZE 100
// 定义结构体
typedef struct {
int id;
char name[50];
float score;
} Student;
int main() {
FILE *file;
Student students[MAX_SIZE];
int count = 0;
// 打开文件
file = fopen("students.txt", "r");
if (file == NULL) {
printf("无法打开文件\n");
return 1;
}
// 读取文件并填充结构数组
while (fscanf(file, "%d %s %f", &students[count].id, students[count].name, &students[count].score) == 3) {
count++;
}
// 关闭文件
fclose(file);
// 打印结构数组中的数据
for (int i = 0; i < count; i++) {
printf("学生ID:%d\n", students[i].id);
printf("学生姓名:%s\n", students[i].name);
printf("学生成绩:%f\n", students[i].score);
printf("\n");
}
return 0;
}
上述代码中,首先定义了一个结构体Student
,包含了学生的ID、姓名和成绩。然后在main
函数中,声明了一个结构数组students
,用于存储从文件中读取的学生数据。count
变量用于记录读取的学生数量。
接下来,通过fopen
函数打开文件,如果文件打开失败,则输出错误信息并返回。然后使用fscanf
函数循环读取文件中的数据,并将数据填充到结构数组中,同时递增count
变量。最后,使用fclose
函数关闭文件。
最后,使用循环遍历结构数组,并打印每个学生的ID、姓名和成绩。
这是一个简单的示例,展示了如何在C语言中使用指针填充结构数组。在实际应用中,可能需要根据具体的文件格式和结构体定义进行适当的修改。
领取专属 10元无门槛券
手把手带您无忧上云