C语言struct读入文件
时间: 2024-12-09 12:14:00 浏览: 12
在C语言中,struct(结构体)是一种用户自定义的数据类型,可以将不同类型的数据组合在一起。要将结构体读入文件,可以使用文件操作函数如`fread`和`fwrite`。以下是一个简单的示例,展示了如何定义一个结构体并将其写入文件,然后再从文件中读取出来。
```c
#include <stdio.h>
#include <stdlib.h>
// 定义一个结构体
typedef struct {
char name[50];
int age;
float salary;
} Employee;
int main() {
// 创建一个结构体变量
Employee emp1;
// 从用户输入获取数据
printf("Enter name: ");
scanf("%s", emp1.name);
printf("Enter age: ");
scanf("%d", &emp1.age);
printf("Enter salary: ");
scanf("%f", &emp1.salary);
// 打开文件进行写入
FILE *file = fopen("employee.dat", "wb");
if (file == NULL) {
printf("Error opening file!\n");
return 1;
}
// 将结构体写入文件
fwrite(&emp1, sizeof(Employee), 1, file);
// 关闭文件
fclose(file);
// 打开文件进行读取
file = fopen("employee.dat", "rb");
if (file == NULL) {
printf("Error opening file!\n");
return 1;
}
// 从文件中读取结构体
fread(&emp1, sizeof(Employee), 1, file);
// 关闭文件
fclose(file);
// 打印读取的数据
printf("\nName: %s\n", emp1.name);
printf("Age: %d\n", emp1.age);
printf("Salary: %.2f\n", emp1.salary);
return 0;
}
```
在这个示例中,我们首先定义了一个名为`Employee`的结构体。然后,我们从用户输入获取数据,并将其写入一个名为`employee.dat`的文件中。接下来,我们从文件中读取数据并打印出来。
阅读全文