fread fread怎么用

编辑本段回目录

从二进制文件中读取数据

版本支持编辑本段回目录

7.8.0.347 (R2009a)Matlab中文论坛

语法编辑本段回目录

A = fread(fileID)
A = fread(fileID, sizeA)
A = fread(fileID, sizeA, precision)
A = fread(fileID, sizeA, precision, skip)
A = fread(fileID, sizeA, precision, skip,machineformat)
[A, count] = fread(...)

描述编辑本段回目录

A = fread(fileID)

读取一个列向量为A 和 在 最终的文件标记文件指针 的二进制文件数据。

A = fread(fileID, sizeA)《Simulink与信号处理》


读取 文件指针到最后一个元素之后的元素sizeA阅读。 sizeA可以是整数,也可以有表格[m,n]。
A = fread(fileID, sizeA, precision)

根据形式和尺寸精度描述在文件中解释值。该sizeA参数是可选的。

A = fread(fileID, sizeA, precision,skip)www.iLoveMatlab.cn

跳过skip后阅读每个值字节。如果精度bitn或ubitn,指定跳过位。该sizeA参数是可选的。

A = fread(fileID, sizeA, precision, skip, machineformat)

用指定的machineformat读取数据。该sizeA并skip参数可选。

[A, count] = fread(...)

返回:fread读取A中的元素数

输入参数编辑本段回目录

fileID

一个整数,FOPEN得到的文件标识符。

sizeA

A在输出数组指定维度下列形式之一:

inf
列向量与在该文件的一些内容。 (默认)
n
列向量的n个元素。如果该文件已超过n个元素,fread垫零
[m,n]
M——N矩阵,填补列顺序。如果该文件少 fread用零垫 比M——N个元素 。n可以是inf,但M却不能。
fread fread怎么用
Matlab中文论坛precision

字符串指定的形式和值的大小阅读。包括可选的输出矩阵A

使用下列形式之一:

'source'
指定类的输入值。输出矩阵A是类一倍。
例如:'int16'
'source=>output'
输入和输出指定的类。
例如:'int8 =>“字符'
'*source'
作为输入输出具有相同的类。
例如:'* uint8'
对于'bitn'或'ubitn'精度,输出具有最小的类,可以包含的输入。
例如:'* ubit18'等价于'ubit18=>“uint32'
'N*source' OR
'N*source=>output'
如果你指定一个有效跳过参数。在每次读N值跳过。
例如:'4 * int8'

下表列出了可能的来源和输出值。
《Simulink与信号处理》

 数值类型
 精确
 比特(字节)
 Integers, unsigned
 uint 32 (4)
 uint8 8 (1)
 uint16 16 (2)
uint32
 
 32 (4)
 uint64 64 (8)
 uchar
 8 (1)
 unsigned char
 8 (1)
 ushort 16 (2)
 ulong
系统相关
 ubitn
 1 ≤ n ≤ 64
 Integers, signed
 int 32 (4)
 int88 (1) 
 int16 16 (2)
 int32 32 (4)
 int64 64 (8)
 integer*1 8 (1)
integer*2 16 (2)
 integer*3 32 (4)
 integer*4 64 (8)
 schar 8 (1)
 signed char
 8 (1)
 short 16 (2)
 long
系统相关
 bitn 1 ≤ n ≤ 64
 浮点数
 single 32 (4)
 double 64 (8)
 float
32 (4)
 
 float3232 (4) 
 float64 64 (8)
 real*4 32 (4)
 real*8《Simulink与信号处理》
 64 (8)
 Characters
 char*1 8 (1)
 char 依赖于与该文件相关联的编码方案。集编码与fopen

long and ulong 对32位系统是32位,在64位系统是64位。

对于大多数 精度,如果fread 到达文件结尾之前 读一个完整的元素,fread不返回的最后一个元素的值。但是,如果源是bitn或ubitn,然后fread 返回一个元素的最后部分结果。



默认:'uint8=>double'skip

要跳过的字节数后 阅读每个值。如果你指定一个bitn或ubitn精度,指定跳过位。使用此参数来读取固定长度的记录 不连续的字段中的数据。

默认值:0Matlab中文论坛

machineformat

字符串,指定在文件中读取字节的顺序。对于bitn和ubitn精度,指定阅读范围内的一个字节位顺序。指定machineformat读取和写入到不同的系统上,或在一个特定的顺序读取一个字节的部分文件。

可能的值是:

'n' or 'native'
字节排序,您的系统使用(默认)
'b' or 'ieee-be'
大端字节序排序
'l' or 'ieee-le'
小端序
's' or 'ieee-be.l64'
big -endian的顺序,64位数据类型
'a' or 'ieee-le.l64'
小端序,64位数据类型
Windows系统使用小端排序和大多数UNIX系统使用big - endian字节顺序。

输出参数编辑本段回目录

A

A列向量,除非你指定的表格[M,N]。在A级的数据是,除非你双精度参数中指定一个不同的类。
book.iLoveMatlab.cn

count

fread 读取成功的元素的数量。

应用举例编辑本段回目录

阅读文件的内容:
% Create the file
fid = fopen('magic5.bin', 'w');
fwrite(fid, magic(5));
fclose(fid);

% Read the contents back into an array
fid = fopen('[]magic5.bin');


m5 = fread(fid, [5, 5], '*uint8');
fclose(fid);
模拟与fread类型的功能,以显示文本文件的内容:
fid = fopen('fread.m');

% read the entire file as characters
% transpose so that F is a row vector
F = fread(fid, '*char')'

fclose(fid);
如果你不指定的精度,fread适用于默认uint8=>double:
fid = fopen('fread.m');
F_nums = fread(fid, 6)' % read the first 6 bytes('%FREAD')
fclose(fid);

此代码返回
F_nums =
37 70 82 69 65 68

从文件中读取选定的行或列:
% Create a file with values from 1 to 9
fid = fopen('nine.bin', 'w');
alldata = reshape([1:9],3,3);
fwrite(fid, alldata);
fclose(fid);

% Read the first six values into twocolumns
fid = fopen('nine.bin');
two_cols = fread(fid, [3, 2]);

% Return to the beginning of the file
frewind(fid);

% Read two values at a time, skip one
% Returns six values into two rows
% (first two rows of 'alldata')

two_rows = fread(fid, [2, 3], '2*uint8',1);《Simulink与信号处理》

% Close the file
fclose(fid);
指定machineformat读取二进制编码的十进制(BCD)正确的单独数字值:
% Create a file with BCD values
str = ['AB'; 'CD'; 'EF'; 'FA'];

fid = fopen('bcd.bin', 'w');
fwrite(fid, hex2dec(str), 'ubit8');
fclose(fid);

% If you read one byte at a time,
% no need to specify machine format
fid = fopen('bcd.bin');

onebyte = fread(fid, 4, '*ubit8');
disp('Correct data, read with ubit8:')
disp(dec2hex(onebyte))

% However, if you read 4 bits on alittle-endian
% system, your results appear in the wrongorder
frewind(fid); % return to beginning of file

part_err = fread(fid, 8, '*ubit4');
disp('Incorrect data on little-endian systems,ubit4:')
disp(dec2hex(part_err))

% Specify a big-endian format for correctresults
frewind(fid);

part_corr = fread(fid, 8, '*ubit4','ieee-be');
disp('Correct result, ubit4:')
disp(dec2hex(part_corr))

fclose(fid);

  

爱华网本文地址 » http://www.413yy.cn/a/25101015/261135.html

更多阅读

飞行模式怎么用WIFI? 飞行模式怎么开wifi

飞行模式怎么用WIFI?——简介Android手机的飞行模式就是一竿子关闭包括通讯、Wi-Fi、蓝牙和NFC在内的所有无线功能。但有时我们只需飞行模式的省电,却又希望单独开启Wi-Fi,此时应该如何设置呢?飞行模式怎么用WIFI?——工具/原料RE管理器

360免费WiFi电脑版怎么用 360免费wifi怎么安装

360免费WiFi电脑版怎么用——简介360免费WiFi电脑版已正式推出,利用该工具,可以让电脑变成WiFi热点,进而让手机等终端设备利用此热点来免费上网。下面就具体来了解一下“360免费WiFi电脑版”的使用方法。360免费WiFi电脑版怎么用——

LOL英雄皮肤修改器怎么用 英雄联盟六级成就

LOL英雄皮肤修改器怎么用——简介对于各位LOL玩家而言,使用多彩的英雄皮肤,可以增加游戏体验,面对LOL官方所提供的付费皮肤,我们更喜欢使用皮肤修改器来免费使用自己喜欢的皮肤,在此小编为大家推荐几款可实现更换LOL英雄皮肤的工具供大家

小米wifi怎么用 小米移动wifi怎么用

小米wifi怎么用——简介小米wifi怎么用,小米随身wifi如何设置才可以用,其实小米wifi设置简单,是为了方便手机等移动设备在wifi环境下使用,设置很简单看下面小米wifi怎么用——工具/原料可登陆小米官网的电脑小米wifi怎么用——方法/步

声明:《fread fread怎么用》为网友不适合谈恋爱分享!如侵犯到您的合法权益请联系我们删除