用c语言将一个结构体存储到文件中
时间: 2024-03-21 07:39:14 浏览: 82
c语言结构体与文件
在C语言中,可以使用文件操作函数将结构体存储到文件中。以下是一个简单的例子:
```c
#include <stdio.h>
struct student {
char name[20];
int age;
};
int main() {
struct student s = {"Tom", 18};
FILE *fp;
fp = fopen("student.txt", "wb"); // 打开文件,以二进制写入方式
if (fp == NULL) {
printf("Failed to open file.\n");
return 1;
}
fwrite(&s, sizeof(struct student), 1, fp); // 将结构体写入文件
fclose(fp); // 关闭文件
return 0;
}
```
在上面的例子中,我们定义了一个 `student` 结构体,包含姓名和年龄两个成员。我们使用 `fwrite` 函数将 `s` 结构体写入文件中。其中,第一个参数是指向结构体的指针,第二个参数是结构体的大小,第三个参数是要写入的结构体数量,第四个参数是文件指针。
需要注意的是,我们在打开文件时使用了 `"wb"` 模式,表示以二进制写入方式打开文件。在读取文件时,应该使用 `"rb"` 模式。此外,写入的数据可能会被其他程序修改或覆盖,因此在读取文件时应该先检查文件中的数据是否合法。
阅读全文