我需要从Matlab编写一个二进制文件,该文件将由c程序读取。
.h文件定义了我试图写为
的字符串char elem[16]
在matlab方面:
str = 'abc' % A variable length string <= 15 chars
fwrite(fp, str, 'char*1')
我不确定如何强制matlab向str添加null char并用&#34; garbage&#34;来缓冲它。直到适当的大小,以便c程序可以读取它。
注意我无法修改c代码,所以我需要让Matlab以正确的格式写出文件。
答案 0 :(得分:0)
以下代码是我最终得到的。 Zeros最终成为空角色。不确定是否有更优雅的解决方案。
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');