我正在从文件中读取二进制数据,有问题的特定值是uchar
(无符号 1 字节值),概念上是布尔值。 如何编写fread
语句?
即我应该在以下???
中输入什么:
is_valid=fread(fid, 1, 'uint8=>???','a');
我认为我可以将'*uint8'
用于转换字符串,但我希望结果类型与其他用户的期望最相似。
MATLAB 中的布尔值由logical
类型表示。但是,fread
不支持读取逻辑,因此请按uint8
读取逻辑,并在以后转换为logical
。例如:
is_valid = logical(fread(fid, 1, 'uint8', 'a'));
这适用于 2012b:
A = fread(fid, 1, 'uint8=>logical');