首页 > 编程笔记 > C语言函数大全 阅读:254

C语言fread():从文件中读取一个数据块

通义灵码
fread() 是 C语言的一个标准库函数,定义在<stdio.h>头文件中。

fread() 函数用来从指定文件中读取块数据。所谓块数据,也就是若干个字节的数据,可以是一个字符,可以是一个字符串,可以是多行数据,并没有什么限制。

fread() 函数的原型如下:

size_t fread(void *ptr, size_t size, size_t count, FILE *stream);

参数


理论上,fread() 函数每次从文件中读取size*count个字节的数据。

返回值

返回实际读取的块数,也即 count。如果实际读取的块数小于 count,则可能发生了错误,或者是文件位置指针到了文件末尾。

【实例】下面是 C语言 fread() 函数的一个示例程序,从一个名为 "input.bin" 的二进制文件中读取一组整数,并将它们打印到控制台。
  1. #include <stdio.h>
  2.  
  3. int main() {
  4. FILE *file = fopen("input.bin", "rb");
  5. if (file == NULL) {
  6. printf("无法打开文件!\n");
  7. return 1;
  8. }
  9.  
  10. int numbers[5];
  11. size_t result = fread(numbers, sizeof(int), 5, file);
  12. if (result != 5) {
  13. printf("读取失败!\n");
  14. fclose(file);
  15. return 1;
  16. }
  17.  
  18. for (int i = 0; i < 5; i++) {
  19. printf("读取的整数: %d\n", numbers[i]);
  20. }
  21.  
  22. fclose(file);
  23. return 0;
  24. }
在这个示例中,首先尝试以二进制读取模式打开名为 "input.bin" 的文件,然后使用 fread() 从文件中读取 5 个整数并将它们存储在数组 numbers 数组中。

相关文章