C语言fread函数

介绍

fread() 函数用来从指定文件中读取指定字节数的数据。并将此数据读取到指定的缓冲区内(缓冲区指数组、变量、结构体等)。

对于 Windows 系统,使用 fread() 和 fwrite() 时应该以二进制的形式打开文件。

语法格式

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

参数:

  1. ptr指缓冲区,缓冲区可以是数组、变量、结构体等
  2. size指每个数据项的字节数
  3. count指要读取的数据项的数量
  4. stream指要读取的文件的文件指针变量

返回值

fread函数返回实际读取的数据项的数量
因此可以使用它来检查是否已经读取了指定数量的数据项。

注意:
如果要读取的数据项的数量超过了文件中剩余的数据项的数量,那么fread函数只会读取文件中剩余的数据项。

举例

如果要读取文件中前5个字节的内容,可以使用以下代码:

FILE *fp = fopen("filename", "rb");char buffer[6];//"\n"也占一个元素位,可以存储5个字符fread(buffer, 1, 5, fp);fclose(fp);

从文件里读取1个字节到buffer,读取5次,也就是5个字节。

文件内容:


运行代码:


可以看到文件内容是abcdef,运行代码后输出的却是abcde,这说明fread函数确实读取了5个字节的数据,一个字符占一个字节。

文章结束