C语言文件写入读出结构体
时间: 2023-10-29 20:05:19 浏览: 165
以下是一个简单的例子,演示了如何在C语言中将结构体写入文件,并从文件中读取结构体。假设我们有一个结构体Person,包含姓名和年龄两个成员变量。
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct {
char name[20];
int age;
} Person;
int main() {
FILE *fp;
Person p1 = {"Alice", 25};
Person p2;
// 打开文件,以二进制方式写入
if ((fp = fopen("person.dat", "wb")) == NULL) {
printf("Cannot open file.\n");
exit(1);
}
// 将结构体写入文件
fwrite(&p1, sizeof(Person), 1, fp);
// 关闭文件
fclose(fp);
// 打开文件,以二进制方式读取
if ((fp = fopen("person.dat", "rb")) == NULL) {
printf("Cannot open file.\n");
exit(1);
}
// 从文件中读取结构体
fread(&p2, sizeof(Person), 1, fp);
// 输出读取到的结构体
printf("Name: %s\nAge: %d\n", p2.name, p2.age);
// 关闭文件
fclose(fp);
return 0;
}
```
在这个例子中,我们使用了fopen()函数来打开文件,并使用了fwrite()函数将结构体写入文件。要从文件中读取结构体,我们使用了fread()函数。最后,我们使用fclose()函数关闭文件。注意,我们在打开文件时使用了"wb"和"rb"来指定以二进制方式写入和读取文件。
阅读全文