Matlab二进制 I/O 函数,fwrite 和 fread

函数 fwrite

以自定义格式把二进制数据写入一文件。它的形式为
count = fwrite(fid, array, precision)
count = fwrite(fid, array, precision skip)
其中 fid 是用于 fopen 打开的一个文件的文件标识,array 是写出变量的数组,count 是
二进制 I/O 函数
写入文件变量的数目。
MATLAB 以列顺序输出数据,它的含义为第一列全部输出后,再输出第二列等等。例
如,如果 array =
[1 2
3 4
5 6]
那么数据输出的顺序为 1,3,5,2,4,6。
参数 precision 字符串用于指定输出数据的格式。MATLAB 既支持平台独立的精度字符
串,在所有的有 MATLAB 运行的电脑,它是相同的,也支持平台不独立的精度字符串,它们在不同类型的电脑上精度也不同。你应当只用平台独立的字符串,在本书中出现的字符串均为这种形式。

MATLAB 精度字符串

精度字符串 C/Fortan 形式 意义
‘char’ ‘char1’ 6 位字符
‘schar’ ‘signed char’ 8 位有符号字符
‘uchar’ ‘unsigned char’ 8 位无符号字符`
‘int8’ 'integer
1’ 8 位整数
‘int16’ ‘integer2’ 16 位整数
‘int32’ 'integer
4’ 32 位整数
‘int64’ ‘integer8’ 64 位整数
‘uint8’ 'integer
1’ 8 位无符号整数
‘uint16’ ‘integer2’ 16 位无符号整数
‘uint32’ 'integer
4’ 32 位无符号整数
‘uint64’ ‘integer8’ 64 位无符号整数
‘float32’ 'real
4’ 32 位浮点数
‘float64’ ‘real*8’ 64 位浮点数
‘bitN’ N 位带符号整数(1≤N≤64)
‘ubitN’ N 位无符号整数(1≤N≤64)

平台独立的精度显示在表 中。所有的这些精度都以字节为单位,除了“bitN”和“ubitN”,它以位为单位。
选择性参数 skip 指定在每一次写入输出文件之前要跳过的字节数。在替换有固定长度
的值的时侯,这个参数将非常的有用。注意如果 precision 是一个像“bitN”或“ubitN”的
一位格式,skip 则用位当作单位。

fread 函数

函数 fread 读取用用户自定义格式从一文件中读取二进制数据。它的格式如下
[array, count] = fread(fid, size, precision)
[array, count] = fread(fid, size, precision, skip)
其中 fid 是用于 fopen 打开的一个文件的文件标识,array 是包含有数据的数组,count
是读取文件中变量的数目,size 是要读取文件中变量的数目。
参数 size 用于指定读取文件中变量的数目。这个参数有三种形式。

n 准确地读取 n 个值。执行完相应的语句后,array 将是一个包含有 n 个值
的列向量

Inf 读取文件中所有值。执行完相应的语句后,array 将是一个列向量,包含
有从文件所有值。

[n,m] 从文件中精确定地读取 n×m 个值。array 是一个 n×m 的数组。
如果 fread 到达文件的结尾,而输入流没有足够的位数写满指定精度的数组元素,fread
就会用最后一位的数填充,或用 0 填充,直到得到全部的值。如果发生了错误,读取将直接到达最后一位.

参数 precision 和 size 在函数 fread 和函数 fwrite 中有相同的意义。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海宝7号

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值