📅  最后修改于: 2023-12-03 14:41:19.955000             🧑  作者: Mango
在 C 编程语言中,fread()
是一个用于从文件中读取数据的函数。它以字节为单位从文件中读取一定数量的数据,并将其存储在指定的内存位置中。fread()
是一个非常常用的函数,特别适用于处理二进制文件。
size_t fread(void *ptr, size_t size, size_t count, FILE *stream);
fread()
函数的参数说明:
ptr
:指向要填充读取数据的内存块的指针。size
:每个元素的字节数。count
:要读取的元素数量。stream
:指向要读取的文件的指针。fread()
函数返回实际读取的元素数量,如果读取失败或到达文件末尾,则返回小于 count
的值。
下面是一个使用 fread()
的简单示例:
#include <stdio.h>
int main() {
FILE *file = fopen("data.bin", "rb");
if (file == NULL) {
perror("文件打开失败");
return 1;
}
int numbers[10];
size_t elements_read = fread(numbers, sizeof(int), 10, file);
if (elements_read != 10) {
perror("读取失败");
return 1;
}
// 对读取的数据进行操作
fclose(file);
return 0;
}
在这个示例中,我们打开一个名为 "data.bin" 的二进制文件,并尝试从中读取 10 个 int
值到 numbers
数组中。如果读取成功,我们可以对读取的数据进行任何操作。
fopen()
将返回 NULL
。因此,我们应该通过检查 fopen()
的返回值来确保文件已成功打开。fread()
之前,确保已经打开了文件,并且在使用完后及时关闭文件,以防止资源泄漏。rb
而不是 r
。更多关于 fread()
函数的详细信息,请参考C 语言参考手册。
希望本文对您有所帮助!