我正在从文件中读取二进制数据,所讨论的特定值是uchar
(无符号1字节值),概念上是布尔值。如何撰写fread
声明?
即。我应该为???
添加以下内容:
is_valid=fread(fid, 1, 'uint8=>???','a');
我认为我可以使用'*uint8'
作为转化字符串,但我希望结果类型与其他用户期望的最相似。
答案 0 :(得分:2)
MATLAB中的布尔值由logical
类型表示。但是,fread
不支持读取逻辑,因此请将其读作uint8
并稍后转换为logical
。例如:
is_valid = logical(fread(fid, 1, 'uint8', 'a'));
答案 1 :(得分:0)
这适用于2012b:
A = fread(fid, 1, 'uint8=>logical');