fread
程序函数
从给定输入流stream读取最多count个对象到数组buffer中(相当于对每个对象调用size次fgetc),把buffer当作unsigned char数组并顺序保存结果。流的文件位置指示器前进读取的字节数。
C/C++语言函数
定义于头文件
从给定输入流stream读取最多count个对象到数组buffer中(相当于以对每个对象调用size次fgetc),把buffer当作unsigned char数组并顺序保存结果。流的文件位置指示器前进读取的字节数。
若出现错误,则流的文件位置指示器的位置不确定。若没有完整地读入最后一个元素,则其值不确定。
参数
返回值
返回成功读取的对象个数,若出现错误或到达文件末尾,则可能小于count。
若size或count为零,则fread返回零且不进行其他动作。
fread不区分文件尾和错误,因此调用者必须用feof和ferror才能判断发生了什么。
示例
PHP函数
(PHP 4, PHP 5)
fread -- 读取文件(可安全用于二进制文件)
说明
stringfread( int handle, int length )
fread()从文件指针handle读取最多 length 个字节。 该函数在读取完 length 个字节数,或到达 EOF 的时候,或(对于网络流)当一个包可用时就会停止读取文件,视乎先碰到哪种情况。
注意
在区分二进制文件和文本文件的系统上(如 Windows)打开文件时,fopen() 函数的 mode 参数要加上 'b'。
当从网络流或者管道读取时,例如在读取从远程文件或popen()以及proc_open()的返回时,读取会在一个包可用之后停止。这意味着你应该如下例所示将数据收集起来合并成大块。
如果你只是想将一个文件的内容读入到一个字符串中,用file_get_contents(),它的性能比上面的代码好得多。
程序例
MATLAB函数
功能
fread函数可从文件中读取二进制数据
语法
A = fread(fid, count)
A = fread(fid, count, precision)
其中fid为指针所指文件中的当前位置,count指读取的数据个数, precision表示以什么格式的数据类型读取数据。
例子
fid = fopen('alphabet.txt', 'r');
c = fread(fid, 5)'
c =
65 66 67 68 69
fclose(fid);
程序说明:alphabet文件中按顺序存储着26个英文字母,读取文件之前要先打开文件,由于未指定读取数据的类型,所以程序指定默认类型为无符号字符型即uchar,65、66、67、68、69代表A、B、C、D、E,文件用完还要记得关闭文件,以便释放指针。
fid = fopen('alphabet.txt', 'r');
c = fread(fid, '*char')'
c =
ABCDEFGHIJKLMNOPQRSTUVWXYZ
fclose(fid);
程序说明:此程序未指定数据个数,而默认为全部数据,所以显示了文件中的所有数据。
参考资料
fread - cppreference.com.cppreference.com.
最新修订时间:2022-08-25 17:07
目录
概述
C/C++语言函数
参考资料