int32的MATLAB数组并写入文件

在下面的代码中,我期望文件大小为4096字节(4kb)对吗?但实际上文件大小变为1024字节(1kb)!我不明白为什么?

fid = fopen('test.test', 'w', 'b');
buff= zeros(1024,1,'int32');
fwrite(fid,buff);
fclose(fid);  

最佳答案 问题是
FWRITE默认情况下将数据写为’uint8’类型(即’int32’大小的四分之一).它不会自动检测传递给它的数据类型,因此您需要在调用FWRITE时指定输出的类型,如下所示:

fwrite(fid, buff, 'int32');
点赞