fopen
fread
常见用法:
1、A=fread(fileID,sizeA,precision,skip,machinefmt)
2、A=fread(fileID)
3、fread(fileID,sizeA)
4、A=fread(fileID,sizeA,precision)
5、A=fread(fileID,sizeA,precision,skip)
6、A=fread(fileID,sizeA,precision,skip)
重点说明A=fread(fileID,sizeA,precision,skip,machinefmt)中参数具体含义,其余与这个一样
1、fileID 文件标识
由fopen()返回
2、sizeA 输出数组的大小尺寸
有3种参数,Inf、n、[m,n]
Inf :输出数组是列向量,文件中每一个元素对应一个值
n :有n个元素的列向量
[m,n] 代表按列向量排列的m行n列的矩阵,n可以取Inf,但m不可以
3、precision 解码类型即需要读取数据的类型和大小,默认'uint8=>double'
常见有char、int8、int16等,需要根据原始数据格式来确定
4、skip 循环跳过多少字节即每读一个就间隔skip个precision 类型大小再读,,默认为0
5、machinefmt 待读取数据字节的排列方式,默认为'n'
需要根据源数据格式来确定,有'b'、'l'、's'、'a'等格式
'n'就是系统字节的排列顺序,即‘native’
'b'就是'ieee-be',即'Big-endian ordering',即低位字节排放在内存的高地址端,高位字节排放在内存的低地址端
'l'就是‘ieee-le’,即‘Little-endian ordering’即低位字节排放在内存的低地址端,高位字节排放在内存的高地址端
fseek:
fseek是读写操作文件位置指针?
status=fseek(fid, offset, origin_pos)
其中fid为文件句柄,
offset表示位置指针相对origin_pos(即参考位置)移动的字节数,当offset
> 0 向文件末尾方向移动.
= 0 不改变方向.
< 0 向文件开头方向移动.
origin_pos表示位置指针移动的参照位置,当origin_pos:
'bof' or -1 文件开头
'cof' or 0 文件当前位置
'eof' or 1 文件末尾。
若定位成功,status返回值为0,否则返回值为–1。
注意fseek与fread中skip的区别,skip是循环跳读,即每隔skip就读取一个值
??????