0

我正在从文件中读取二进制数据,所讨论的特定值是uchar(无符号的 1 字节值),并且在概念上是布尔值。我该如何写fread声明?

即我应该???在以下内容中添加什么:

is_valid=fread(fid, 1, 'uint8=>???','a');

我认为我可以将'*uint8'其用于转换字符串,但我希望结果类型与其他用户所期望的最相似。

4

2 回答 2

2

MATLAB 中的布尔值由logical类型表示。但是,fread不支持阅读逻辑,因此请先阅读它们并稍后uint8转换。logical例如:

is_valid = logical(fread(fid, 1, 'uint8', 'a'));
于 2013-10-02T17:06:08.897 回答
0

这适用于 2012b:

A = fread(fid, 1, 'uint8=>logical');
于 2013-12-02T22:46:01.797 回答