c语言fread结构体
时间: 2023-07-09 16:47:06 浏览: 75
fread函数可以用来从文件中读取二进制数据。如果你想读取一个结构体,可以按照以下步骤操作:
1. 定义一个结构体类型。
2. 打开文件,并以二进制模式读取文件。
3. 调用fread函数读取结构体对象。
以下是一个示例代码:
```c
#include <stdio.h>
typedef struct {
int id;
char name[20];
float score;
} Student;
int main() {
FILE* fp;
Student s;
fp = fopen("students.dat", "rb");
if (fp == NULL) {
printf("Failed to open file.\n");
return 1;
}
while (fread(&s, sizeof(Student), 1, fp) == 1) {
printf("ID: %d, Name: %s, Score: %.2f\n", s.id, s.name, s.score);
}
fclose(fp);
return 0;
}
```
在上面的示例代码中,我们定义了一个名为Student的结构体类型,它包含id、name和score三个成员变量。我们打开了一个名为students.dat的二进制文件,并使用fread函数读取每个Student对象。请注意,我们将Student的大小作为第二个参数传递给fread函数,并且将结构体的地址作为第一个参数传递给fread函数。读取成功后,我们打印出每个学生的信息。最后,我们关闭文件并退出程序。