c语言读取txt文件并存入结构体数组
时间: 2023-09-02 09:04:08 浏览: 99
C语言可以通过以下步骤来读取txt文件并存入结构体数组。
首先,我们需要定义一个结构体类型,用来表示txt文件中的数据。假设我们要读取的txt文件中的每一行包含学生的姓名和年龄,我们可以定义一个名为Student的结构体类型,包含name和age两个成员变量。
```c
typedef struct {
char name[50];
int age;
} Student;
```
然后,我们需要打开文件并读取其中的数据。可以使用标准库函数`fopen`来打开txt文件,使用`fgets`函数逐行读取文件内容,并使用`sscanf`函数将读取到的数据存入结构体数组中。
```c
FILE *file = fopen("students.txt", "r");
if (file == NULL) {
printf("无法打开文件\n");
return;
}
Student students[100]; // 假设最多有100个学生
int count = 0; // 记录读取到的学生个数
char line[100];
while (fgets(line, sizeof(line), file) != NULL) {
sscanf(line, "%s%d", students[count].name, &students[count].age);
count++;
}
fclose(file);
```
最后,我们需要关闭文件,并可以通过遍历数组输出读取到的数据,以验证读取是否成功。
```c
for (int i = 0; i < count; i++) {
printf("姓名:%s,年龄:%d\n", students[i].name, students[i].age);
}
```
以上就是用C语言读取txt文件并存入结构体数组的基本步骤。读者可以根据实际需求对代码进行修改和优化。