在Matlab中编写一个固定长度的字节数组到二进制文件

Writing a fixed length byte array to a binary file in Matlab

本文关键字:字节 字节数 二进制文件 数组 一个 Matlab      更新时间:2023-10-16

我需要从Matlab中编写一个二进制文件,该文件将由c程序读取。

.h文件定义了我要写的字符串

char elem[16]
在matlab端:
str = 'abc' % A variable length string <= 15 chars
fwrite(fp, str, 'char*1') 

我不知道如何强迫matlab添加一个空字符str和缓冲它与"垃圾",直到适当的大小,使c程序可以读取它。

注意我不能修改c代码,所以我需要让Matlab以适当的格式写出文件。

下面的代码是我最终得到的。0最终成为空字符。不确定是否有更优雅的解决方案。

out_str = "abc";
out_len = 16; 
fwrite(fid_out, out_str, 'char*1'); 
fwrite(fid_out, zeros(1,out_len - length(out_str)),'char*1');