Octave可以使用以下函数读取和写入二进制数据fread
和写入文件
,以具有相同名称的标准C函数为模式。它们能够自动交换整数数据的字节顺序,并在读取数据时在支持的浮点格式之间进行转换。
val =
fread (fid)
¶val =
fread (fid, size)
¶val =
fread (fid, size, precision)
¶val =
fread (fid, size, precision, skip)
¶val =
fread (fid, size, precision, skip, arch)
¶[val, count] =
fread (…)
¶从文件描述符指定的文件中读取二进制数据fid.
可选参数大小指定要读取的数据量,可以是其中之一
Inf
尽可能多地读取,返回一个列向量。
nr
阅读至nr元素,返回一个列向量。
[nr,Inf]
尽可能多地阅读,返回一个矩阵nr排。如果读取的元素数量不是的精确倍数nr,最后一列用零填充。
[nr, nc]
阅读至nr * nc
元素,返回矩阵nr排。如果读取的元素数量不是精确的倍数nr,最后一列用零填充。
如果大小省略,值为Inf
是假定的。
可选参数精确是指定要读取的数据类型的字符串,可以是其中之一
uint8
默认8位无符号整数。
int8
整数*1
8位有符号整数。
uint16
ushort
无符号短
16位无符号整数。
int16
整数*2
短的
16位带符号整数。
uint
uint32
unsigned int
ulong
无符号length
32位无符号整数。
int
int32
整数*4
长的
32位有符号整数。
uint64
64位无符号整数。
int64
整数*8
64位有符号整数。
single
浮动
float32
真实*4
32位浮点数字。
double
float64
真实*8
64位浮点数字。
char
字符*1
8位单个字符。
uchar
无符号字符
8位无符号字符。
schar
签名字符
8位有符号字符。
默认精度为uint8
.
这个精确参数还可以指定可选的重复次数。例如32*单原因fread
以读取32个单精度浮点数字的块。阅读收件箱与跳过参数
这个精确参数还可以指定类型转换。例如int16=>int32原因fread
以读取16位整数值并返回32位整数值的数组。默认情况下,fread
返回一个双精度数组。异形*类型是'的简写TYPE=>TYPE’.
转换计数和重复计数可以被组合。例如,规格32*单=>单原因fread
以读取单精度浮点值块,并返回单精度值数组,而不是双精度值的默认数组。
可选参数跳过指定读取每个元素(或元素块)后要跳过的字节数。如果未指定,则假定值为0。如果最后一个块读取未完成,则省略最后一个跳过。例如
fread(f,10,“3*单=>单”,8)
将省略最后的8字节跳过,因为最后一次读取将不是3个值的完整块。
可选参数拱是指定文件的数据格式的字符串。有效值为
native
或n
当前计算机的格式。
ieee be
或b
IEEE big-endian。
ieee le
或l
IEEE little-endian。
如果没有拱给定了调用中使用的值fopen
其创建了文件描述符。否则,使用指定的值fread
覆盖的fopen
并确定数据格式。
输出参数val包含从文件中读取的数据。
可选返回值计数包含读取的元素数。
count =
fwrite (fid, data)
¶count =
fwrite (fid, data, precision)
¶count =
fwrite (fid, data, precision, skip)
¶count =
fwrite (fid, data, precision, skip, arch)
¶将二进制形式的数据写入文件描述符指定的文件fid.
参数数据是要写入文件的值的矩阵。这些值是按列的主要顺序提取的。
剩下的参数精确, 跳过和拱可选,并被解释为fread
.
输出计数是成功写入的数据项数。
编程注意事项:的行为写入文件
如果中的值数据太大,无法满足指定的精度。
版权所有 © 2024 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号