创建结构体数组存入文件中
时间: 2024-02-15 09:04:24 浏览: 88
将结构体保存到文件
好的,我可以为您提供一个简单的示例程序来演示如何创建结构体数组并将其存入文件中。以下是示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义结构体
typedef struct {
int id;
char name[20];
float score;
} Student;
int main() {
// 创建结构体数组
Student students[3];
students[0].id = 1;
strcpy(students[0].name, "Tom");
students[0].score = 90.5;
students[1].id = 2;
strcpy(students[1].name, "Jane");
students[1].score = 88.0;
students[2].id = 3;
strcpy(students[2].name, "Mike");
students[2].score = 92.0;
// 打开文件
FILE *fp;
fp = fopen("students.dat", "wb");
if (fp == NULL) {
printf("Error opening file!\n");
exit(1);
}
// 将结构体数组写入文件中
fwrite(students, sizeof(Student), 3, fp);
// 关闭文件
fclose(fp);
return 0;
}
```
在上面的示例代码中,我们首先定义了一个名为 Student 的结构体,其中包含了学生的编号、姓名和成绩三个属性。然后,在主函数中,我们创建了一个包含三个元素的结构体数组,并且为每个元素分别赋值。接着,我们打开了一个名为 students.dat 的文件,并将其以二进制写入模式打开。如果文件打开失败,则程序会输出错误信息并退出。接下来,我们使用 fwrite 函数将结构体数组写入文件中。最后,我们关闭了文件并结束了程序的执行。
注意,写入文件时,我们使用了 fwrite 函数,该函数的第一个参数是指向要写入的数据的指针,第二个参数是每个元素的大小,第三个参数是要写入的元素数量,第四个参数是文件指针。在我们的示例中,我们将结构体数组 students 写入文件中,每个元素的大小为 sizeof(Student) ,元素数量为 3。
希望这个示例程序能够帮助您了解如何创建结构体数组并将其存入文件中。
阅读全文