怎么使用在结构体写入和读取文件
时间: 2023-05-31 13:03:17 浏览: 103
文件概述-c语言结构体与文件
在结构体中写入和读取文件,需要使用文件操作函数和结构体成员的指针。下面是一个示例代码:
```
#include <stdio.h>
struct Person {
char name[50];
int age;
float height;
};
int main() {
struct Person p1 = {"John", 25, 1.75};
// 写入文件
FILE *fp = fopen("person.dat", "wb");
fwrite(&p1, sizeof(struct Person), 1, fp);
fclose(fp);
// 读取文件
struct Person p2;
fp = fopen("person.dat", "rb");
fread(&p2, sizeof(struct Person), 1, fp);
fclose(fp);
printf("Name: %s\nAge: %d\nHeight: %.2f\n", p2.name, p2.age, p2.height);
return 0;
}
```
首先定义一个结构体 `Person`,然后创建一个结构体变量 `p1`,并初始化其成员。接着使用文件操作函数 `fopen` 打开一个二进制文件,以写入模式打开,返回一个文件指针 `fp`。然后使用 `fwrite` 函数将结构体变量 `p1` 写入文件,写入的字节数为 `sizeof(struct Person)`。最后使用 `fclose` 函数关闭文件。
接下来使用同样的方法打开文件,以读取模式打开,读取到的数据存储在结构体变量 `p2` 中。最后输出结构体变量 `p2` 的成员。
注意:在写入和读取文件时,需要使用二进制模式打开文件,否则会出现不可预知的错误。
阅读全文