fread()C语言实例
时间: 2023-08-13 21:08:31 浏览: 43
fread()函数是C语言中用于读取二进制文件的函数,它可以连续读取多个数据块,并将它们存储到一个数组中。下面是一个使用fread()函数读取二进制文件的实例:
```c
#include <stdio.h>
#include <stdlib.h>
struct student {
int id;
char name[20];
int score;
};
int main() {
FILE *fp;
struct student stu[5];
int i, n;
// 打开二进制文件
fp = fopen("data.dat", "rb");
if (fp == NULL) {
printf("Cannot open file.\n");
exit(1);
}
// 读取数据
n = fread(stu, sizeof(struct student), 5, fp);
printf("Read %d items.\n", n);
// 输出数据
for (i = 0; i < n; i++) {
printf("ID: %d, Name: %s, Score: %d\n", stu[i].id, stu[i].name, stu[i].score);
}
// 关闭文件
fclose(fp);
return 0;
}
```
以上代码中,首先定义了一个结构体student,包含学生的ID、姓名和成绩。然后使用fread()函数读取二进制文件data.dat中的数据,将读取的数据存储到数组stu中。最后遍历数组,输出每个学生的信息。
需要注意的是,fread()函数的第一个参数是存储读取数据的数组名,第二个参数是每个数据块的大小,第三个参数是要读取的数据块个数,第四个参数是文件指针。在读取数据之前,需要使用fopen()函数打开二进制文件,并检查文件是否成功打开。读取数据完成后,需要使用fclose()函数关闭文件。