C语言的fread函数用于从文件中读取数据。它的原型如下:
```c
size_t fread(void *ptr, size_t size, size_t count, FILE *stream);
```
参数说明:
- ptr:指向数据保存位置的指针。
- size:每个数据项的大小,以字节为单位。
- count:要读取的数据项的个数。
- stream:指向FILE对象的指针,该对象是要读取的文件指针。
返回值:
成功读取的数据项个数,如果发生错误或到达文件末尾,返回值可能少于count。
使用示例:
```c
#include
int main() {
FILE *file;
int data[5];
// 打开文件
file = fopen("example.bin", "rb");
if (file == NULL) {
printf("无法打开文件\n");
return 1;
}
// 读取数据
size_t read_count = fread(data, sizeof(int), 5, file);
if (read_count < 5) {
printf("读取失败\n");
return 1;
}
// 输出读取的数据
for (int i = 0; i < 5; i++) {
printf("%d ", data[i]);
}
// 关闭文件
fclose(file);
return 0;
}
```
以上示例中,我们打开一个名为"example.bin"的二进制文件,并读取5个整数数据到data数组中。在读取完成后,我们遍历数组并将数据输出到控制台。最后关闭文件。
需要注意的是,fread函数在读取文件时,会根据size和count的乘积确定要读取的总字节数。所以在使用fread函数之前,需要确保目标数组或指针有足够的空间来存储读取的数据。