C语言把文件内容放到结构体
时间: 2024-05-17 19:14:54 浏览: 44
好的,下面是一个简单的例子:
假设我们有一个名为"student.txt"的文本文件,它的内容如下:
```
Tom 18 80
Jerry 19 90
Alice 20 75
Bob 21 85
```
我们可以定义一个名为"Student"的结构体,用来存储每个学生的信息。
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STUDENT 100
struct Student {
char name[20];
int age;
int score;
};
int main() {
FILE *fp;
struct Student students[MAX_STUDENT];
int count = 0;
fp = fopen("student.txt", "r");
if (fp == NULL) {
printf("Failed to open file.");
return 1;
}
// 逐行读取文件内容,将每个学生的信息存储到结构体中
while (count < MAX_STUDENT && fscanf(fp, "%s %d %d", students[count].name, &students[count].age, &students[count].score) == 3) {
count++;
}
fclose(fp);
// 打印每个学生的信息
for (int i = 0; i < count; i++) {
printf("Name: %s, Age: %d, Score: %d\n", students[i].name, students[i].age, students[i].score);
}
return 0;
}
```
这个程序首先定义了一个名为"Student"的结构体,包含了每个学生的姓名、年龄和成绩。
接着,程序打开"student.txt"文件,并逐行读取文件内容。在读取每一行时,程序将文件中的内容按照空格分割,并将每个学生的信息存储到结构体数组中。
最后,程序遍历结构体数组,并打印每个学生的信息。
注意,这个例子中没有做任何的错误处理和边界检查,实际使用时需要进行相应的处理。
阅读全文