2012-02-24 5 views
4

以下のコードでは、ファイルサイズが4096バイト(4kb)になると予想していますか?しかし、実際にはファイルサイズは1024バイト(1kb)になります!なぜ私は理解できないのですか?int32のMATLAB配列とファイルへの書き込み

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

、これを:あなたはそうのように、FWRITEの呼び出しで出力のための型を指定する必要があるので、それは自動的に、それに渡されるデータのタイプを検出しません。あなたに興味があるかもしれません - http://stackoverflow.com/questions/8847866/how-can-i-close-files-that-are-left-open-after-an-error/8847870#8847870 –

答えて

2

問題はそのFWRITEあり、デフォルトでは、'uint8'タイプ(すなわち、四分の一'int32'のサイズ)としてデータを書き込みます。あなたがファイルを扱っている場合、また、

fwrite(fid, buff, 'int32'); 
関連する問題