c语言文件输出一个结构体
时间: 2024-01-12 10:05:17 浏览: 85
c语言的结构体
5星 · 资源好评率100%
以下是一个示例,演示如何在C语言中将结构体写入文件:
```c
#include <stdio.h>
struct S {
double c1;
char c2;
int i;
};
int main() {
struct S s = {3.14, 'a', 42};
FILE *file = fopen("struct_file.bin", "wb");
if (file == NULL) {
printf("无法打开文件\n"); return 1;
}
fwrite(&s, sizeof(struct S), 1, file);
fclose(file);
printf("结构体已成功写入文件\n");
return 0;
}
```
这个示例中,我们定义了一个名为`struct S`的结构体,包含了一个`double`类型的成员`c1`,一个`char`类型的成员`c2`,和一个`int`类型的成员`i`。
在`main`函数中,我们创建了一个`struct S`类型的结构体变量`s`,并初始化了它的成员。
然后,我们使用`fopen`函数打开一个名为`struct_file.bin`的文件,以二进制写入模式打开。如果文件打开失败,我们会输出一条错误消息并返回。
接下来,我们使用`fwrite`函数将结构体`s`写入文件。`fwrite`函数的参数依次为:要写入的数据的指针(这里是`&s`),每个数据项的大小(这里是`sizeof(struct S)`),要写入的数据项的个数(这里是1),和文件指针。
最后,我们使用`fclose`函数关闭文件,并输出一条成功的消息。
请注意,这个示例中的文件是以二进制形式写入的,因此在读取文件时也需要以二进制形式读取。
阅读全文