fread() 函数 in C 语言163


简介

fread() 函数在 C 语言中用于从二进制文件中读取数据。它允许从文件中按顺序读取一组连续的元素。与 fscanf() 函数不同,fread() 函数以二进制形式读取数据,不考虑文本格式。

函数原型

fread() 函数的原型如下:```c
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
```

参数* ptr:指向要写入读取数据的内存块的指针。
* size:每个元素的大小(以字节为单位)。
* nmemb:要读取的元素数量。
* stream:指向文件流的指针。

返回值

fread() 函数返回成功读取的元素数量,如果发生错误或到达文件末尾,则返回 0。

示例

以下示例演示了如何使用 fread() 函数读取二进制文件中的数据:```c
#include
int main() {
FILE *fp;
int arr[5];
// 打开文件进行二进制读取
fp = fopen("", "rb");
if (fp == NULL) {
perror("fopen failed");
return -1;
}
// 从文件中读取 5 个整数
size_t num_read = fread(arr, sizeof(int), 5, fp);
if (num_read != 5) {
perror("fread failed");
fclose(fp);
return -1;
}
fclose(fp);
// 打印读取的数据
for (int i = 0; i < 5; i++) {
printf("%d ", arr[i]);
}
printf("");
return 0;
}
```

相关函数* fwrite():以二进制形式向文件写入数据。
* fscanf():以文本格式从文件中读取数据。
* fprintf():以文本格式向文件写入数据。

注意事项* fread() 函数以二进制形式读取数据,因此数据必须以与写入时的相同格式存储在文件中。
* 如果文件指针到达文件末尾,fread() 函数将返回 0。
* fread() 函数不能读取文本文件,因为它不考虑文本格式。

2024-11-14


上一篇:深入解析 C 语言中获取数字因子的方法

下一篇:C 语言中 min() 函数的全面指南