在下面的代码中,我希望文件大小为4096字节(4kb)对吗?但实际上文件大小变为1024字节(1kb)!我不明白为什么?
fid = fopen('test.test', 'w', 'b');
buff= zeros(1024,1,'int32');
fwrite(fid,buff);
fclose(fid);
答案 0 :(得分:2)
问题在于FWRITE默认情况下将数据写为'uint8'
类型(即'int32'
大小的四分之一)。它不会自动检测传递给它的数据类型,因此您需要在调用FWRITE时指定输出的类型,如下所示:
fwrite(fid, buff, 'int32');