C语言的fread函数用于从文件中读取数据。它的原型如下:
size_t fread(void *ptr, size_t size, size_t count, FILE *stream);
参数说明:
-
ptr:指向数据保存位置的指针。
-
size:每个数据项的大小,以字节为单位。
-
count:要读取的数据项的个数。
-
stream:指向FILE对象的指针,该对象是要读取的文件指针。
返回值:
成功读取的数据项个数,如果发生错误或到达文件末尾,返回值可能少于count。
使用示例:
#includeint 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函数之前,需要确保目标数组或指针有足够的空间来存储读取的数据。