c++ 怎么读取文件中的一行并保存到结构体中
时间: 2024-01-16 16:01:15 浏览: 244
要读取文件中的一行并保存到结构体中,首先需要定义一个适当的结构体来保存文件中的数据。然后,可以使用C语言中的文件操作函数来逐行读取文件内容,将每一行的数据保存到结构体中。
假设我们有一个包含学生信息的文件,每行的格式为“学号 姓名 年龄”。我们可以定义一个结构体来保存这些信息:
```c
typedef struct {
int id;
char name[50];
int age;
} Student;
```
然后,我们可以使用文件操作函数来打开文件、逐行读取内容并保存到结构体中:
```c
#include <stdio.h>
int main() {
FILE *file = fopen("students.txt", "r");
if (file == NULL) {
printf("文件打开失败\n");
return 1;
}
Student student;
while (fscanf(file, "%d %s %d", &student.id, student.name, &student.age) != EOF) {
printf("学号:%d 姓名:%s 年龄:%d\n", student.id, student.name, student.age);
}
fclose(file);
return 0;
}
```
在这个例子中,我们首先打开了名为“students.txt”的文件,并定义了一个Student类型的结构体。然后,我们使用fscanf函数逐行读取文件内容,并将每行的数据保存到student结构体中,然后可以对数据进行处理或打印输出等操作。
总之,通过适当定义结构体和使用文件操作函数,我们可以轻松地实现从文件中读取一行并保存到结构体中的功能。
阅读全文