在Matlab中将固定长度的字节数组写入二进制文件

时间:2014-08-05 18:20:37

标签: c++ c matlab binaryfiles

我需要从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以正确的格式写出文件。

1 个答案:

答案 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');