MATLAB массив int32 и запись в файл - PullRequest
4 голосов
/ 24 февраля 2012

В приведенном ниже коде я ожидаю, что размер файла будет 4096 байт (4 КБ), верно?Но на практике размер файла становится 1024 байта (1 КБ)!Я не понимаю, почему?

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

1 Ответ

2 голосов
/ 24 февраля 2012

Проблема в том, что FWRITE по умолчанию записывает данные в виде 'uint8' (т. Е. В четверть размера 'int32'). Он не определяет автоматически тип данных, передаваемых ему, поэтому вам нужно указать тип для вывода при вызове FWRITE, например:

fwrite(fid, buff, 'int32');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...