fwrite

Запишите данные к двоичному файлу

Синтаксис

fwrite(fileID,A)
fwrite(fileID,A,precision)
fwrite(fileID,A,precision,skip)
fwrite(fileID,A,precision,skip,machinefmt)
count = fwrite(___)

Описание

пример

fwrite(fileID,A) запишите элементы массива A как 8-битное беззнаковое целое к двоичному файлу в порядке следования столбцов. Двоичный файл обозначается идентификатором файла, fileID. Используйте fopen, чтобы открыть файл и получить значение fileID. Когда вы закончили читать, закрываете файл путем вызова fclose(fileID).

пример

fwrite(fileID,A,precision) написали значения в A в форме и размере, описанном precision.

fwrite(fileID,A,precision,skip) пропускает количество байтов или битов, заданных skip прежде, чем записать каждое значение.

пример

fwrite(fileID,A,precision,skip,machinefmt) дополнительно задает порядок для записи байтов или битов к файлу. Аргумент skip является дополнительным.

count = fwrite(___) возвращает число элементов A, который fwrite успешно пишет в файл. Можно использовать этот синтаксис с любым из входных параметров предыдущих синтаксисов.

Примеры

свернуть все

Откройте файл с именем nine.bin для записи. Задайте доступ для записи с помощью 'w' в вызове fopen.

fileID = fopen('nine.bin','w');

fopen возвращает идентификатор файла, fileID.

Запишите целые числа от 1 до 9 как 8-битное беззнаковое целое.

fwrite(fileID,[1:9]);

Закройте файл.

fclose(fileID);

Откройте файл с именем magic5.bin для записи.

fileID = fopen('magic5.bin','w');

Запишите 25 элементов магического квадрата 5 на 5. Используйте аргумент precision, 'integer*4', чтобы записать 4-байтовые целые числа.

fwrite(fileID,magic(5),'integer*4');

Закройте файл.

fclose(fileID);

Запишите двоичный файл, содержащий элементы магического квадрата 4 на 4, сохраненного как числа с плавающей запятой с двойной точностью.

fileID = fopen('magic4.bin','w');
fwrite(fileID,magic(4),'double');
fclose(fileID);

Откройте файл, magic4.bin, с доступом для записи, который позволяет добавить к файлу. Задайте тип доступа к файлу, 'a', в вызове fopen.

fileID = fopen('magic4.bin','a');

Добавьте матрицу 4 на 4 нулей к файлу. Затем закройте файл.

fwrite(fileID,zeros(4),'double');
fclose(fileID);

Запишите случайные числа с двойной точностью в файл с именем myfile.bin для использования в системе с обратным порядком байтов. Задайте значение machinefmt 'ieee-be' в вызове fwrite, чтобы указать на порядок байтов с обратным порядком байтов.

fileID = fopen('myfile.bin','w');
fwrite(fileID,rand(4),'double','ieee-be');
fclose(fileID);

Входные параметры

свернуть все

Идентификатор файла, заданный как целое число, полученное из fopen, 1 для стандартного вывода (экран), или 2 для стандартной погрешности.

Данные, чтобы записать, заданный как числовое, символ или массив строк.

Пример: [1,2,3;4,5,6]

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string
Поддержка комплексного числа: Да

Класс и размер в битах значений, чтобы записать, заданный как один из векторов символов или скаляров строки, перечисленных в столбце Точности.

Тип значенияТочностьБиты (Байты)

Целые числа, без знака

'uint'

32 (4)

'uint8'

8 (1)

'uint16'

16 (2)

'uint32'

32 (4)

'uint64'

64 (8)

'uchar'

8 (1)

'unsigned char'

8 (1)

'ushort'

16 (2)

'ulong'

32 (4)

'ubitn'

1n64

Целые числа, подписанные

'int'

32 (4)

'int8'

8 (1)

'int16'

16 (2)

'int32'

32 (4)

'int64'

64 (8)

'integer*1'

8 (1)

'integer*2'

16 (2)

'integer*4'

32 (4)

'integer*8'

64 (8)

'schar'

8 (1)

'signed char'

8 (1)

'short'

16 (2)

'long'

32 (4)

'bitn'

1n64

Числа с плавающей запятой

'single'

32 (4)

'double'

64 (8)

'float'

32 (4)

'float32'

32 (4)

'float64'

64 (8)

'real*4'

32 (4)

'real*8'

64 (8)

'characters'

'char*1'

8 (1)

'char'

Зависит от схемы кодирования, сопоставленной с файлом. Установите кодирование с fopen.

Если вы задаете точность bitn или ubitn, то fwrite насыщает для всех значений вне области значений.

Примечание

Чтобы сохранить NaN и значения Inf в MATLAB®, читайте и запишите данные класса double или single.

Количество байтов, чтобы пропустить прежде, чем записать каждое значение, заданное как скаляр. Если вы задаете precision bitn или ubitn, задаете skip в битах.

Используйте аргумент skip, чтобы вставить данные в поля, состоящие из нескольких несмежных участков, в записях фиксированной длины.

Порядок для записи байтов в файле, заданном как один из векторов символов или скаляров строки в таблице, которая следует. Для bitn и точности ubitn, machinefmt задает порядок для записи битов в байте, но порядок для записи байтов остается ваш системный порядок байтов.

'n' или 'native'

Ваш системный порядок байтов (значение по умолчанию)

'b' или 'ieee-be'

Упорядоченное расположение с обратным порядком байтов

'l' или 'ieee-le'

Упорядоченное расположение с прямым порядком байтов

's' или 'ieee-be.l64'

Упорядоченное расположение обратного порядка байтов, 64-битный долгий тип данных

'a' или 'ieee-le.l64'

Упорядоченное расположение прямого порядка байтов, 64-битный долгий тип данных

По умолчанию все в настоящее время поддерживаемые платформы используют упорядоченное расположение прямого порядка байтов для новых файлов. Существующие двоичные файлы могут использовать или упорядоченное расположение с прямым порядком байтов или с обратным порядком байтов.

Расширенные возможности

Представлено до R2006a