c语言如何在文件中存结构体
时间: 2023-12-18 19:19:57 浏览: 32
在C语言中,可以使用文件操作函数来将结构体存储到文件中。下面是一个示例代码,演示了如何将结构体存储到文件中:
```c
#include <stdio.h>
// 定义一个结构体
typedef struct {
int id;
char name[20];
float score;
} Student;
int main() {
FILE *file;
Student student;
// 打开文件
file = fopen("students.txt", "wb");
if (file == NULL) {
printf("无法打开文件!\n");
return 1;
}
// 输入学生信息
printf("请输入学生ID: ");
scanf("%d", &student.id);
printf("请输入学生姓名: ");
scanf("%s", student.name);
printf("请输入学生成绩: ");
scanf("%f", &student.score);
// 将结构体写入文件
fwrite(&student, sizeof(Student), 1, file);
// 关闭文件
fclose(file);
printf("学生信息已存储到文件中。\n");
return 0;
}
```
这个例子中,我们使用了 `fwrite` 函数将一个 `Student` 结构体写入到名为 "students.txt" 的文件中。注意使用的是二进制写入模式 "wb"。如果你想存储多个结构体,可以多次调用 `fwrite` 函数。
需要注意的是,读取结构体数据时需要使用 `fread` 函数,具体的操作可以参考相应的文件读取教程。