C语言fread函数
介绍
fread() 函数用来从指定文件中读取指定字节数的数据。并将此数据读取到指定的缓冲区内(缓冲区指数组、变量、结构体等)。
对于 Windows 系统,使用 fread() 和 fwrite() 时应该以二进制的形式打开文件。
语法格式
size_t fread(void *ptr, size_t size, size_t count, FILE *stream);
参数:
- ptr指缓冲区,缓冲区可以是数组、变量、结构体等
- size指每个数据项的字节数
- count指要读取的数据项的数量
- 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个字节的数据,一个字符占一个字节。