fread c语言实现
时间: 2023-12-21 22:04:59 浏览: 38
fread是C语言中的一个文件读取函数,其函数原型为:
```c
size_t fread(void *ptr, size_t size, size_t count, FILE *stream);
```
其中,ptr是指向存储读取数据的缓冲区的指针;size是每个数据块的字节数;count是要读取的数据块的数量;stream是指向FILE对象的指针,该对象指向要读取的文件。
fread函数的返回值是实际读取的数据块数量,如果返回值小于count,则可能是读取到了文件末尾或者发生了错误。
下面是一个使用fread函数读取二进制文件的例子:
```c
#include <stdio.h>
int main() {
FILE *fp = fopen("test.bin", "rb");
if (fp == NULL) {
printf("Failed to open file.\n");
return 1;
}
char buf[1024];
size_t n = fread(buf, sizeof(char), sizeof(buf), fp);
if (n == 0) {
printf("Failed to read file.\n");
fclose(fp);
return 1;
}
printf("Read %zu bytes from file.\n", n);
fclose(fp);
return 0;
}
```
该程序打开名为test.bin的二进制文件,读取其中的数据到buf缓冲区中,最多读取1024个字节。如果读取成功,则输出读取的字节数,否则输出错误信息。