Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
5.4.0 - Русский

Change language to:
English - Français - 日本語 - Português -

Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function

Scilab help >> Files : Input/Output functions > mput

mput

записывает байт или слово в заданном двоичном формате

Последовательность вызова

mput(x [, type, fd])

Аргументы

x

вектор целых чисел или чисел с плавающей запятой.

fd

скаляр: дескриптор файла, возвращённый функцией mopen. Значение по умолчанию равно -1, что означает последний файл, открытый функцией mopen.

type

строка: двоичный формат, используемый для записи всех элементов x.

Описание

Функция mput записывает данные в выход, определённый параметром потока fd. Данные записываются в место, на которое в данный момент указывает указатель положения в файле, и передвигает указатель дальше соответствующим образом.

Параметр type -- это определитель преобразования, который может быть установлен любым из следующих символов (значение по умолчанию "l"):

"l", "i", "s", "ul", "ui", "us", "d", "f", "c", "uc"

для записи соответственно типов long, int, short, unsigned long, unsigned int, unsigned short, double, float, char и unsigned char. Байты, которые записываются, автоматически переставляются, если нужно (это проверяется статусом прямого порядка байтов) для того, чтобы сделать двоичные файлы, независимые от машины. Режим перестановки байтов по умолчанию может быть подавлен добавлением флага swap = 0 в функции mopen.

"..l" или "..b"

Можно также записывать в режиме обратной и прямой последовательности байтов, добавляя символ "l" или "b" в конец указателя типа type. Например, "db" будет записывать тип double в режиме обратного порядка байтов.

Примеры

filen = 'test.bin';
mopen(filen,'wb');
mput(1996,'l');mput(1996,'i');mput(1996,'s');mput(98,'c');
 
// force little-endian 
mput(1996,'ll');mput(1996,'il');mput(1996,'sl');mput(98,'cl');
 
// force big-endian 
mput(1996,'lb');mput(1996,'ib');mput(1996,'sb');mput(98,'cb');
 
mclose();
mopen(filen,'rb');
if 1996<>mget(1,'l') then pause,end
if 1996<>mget(1,'i') then pause,end
if 1996<>mget(1,'s') then pause,end
if   98<>mget(1,'c') then pause,end
 
// force little-endian
if 1996<>mget(1,'ll') then pause,end
if 1996<>mget(1,'il') then pause,end
if 1996<>mget(1,'sl') then pause,end
if   98<>mget(1,'cl') then pause,end
 
// force big-endian 
if 1996<>mget(1,'lb') then pause,end
if 1996<>mget(1,'ib') then pause,end
if 1996<>mget(1,'sb') then pause,end
if   98<>mget(1,'cb') then pause,end
 
mclose();

Смотрите также

  • mclose — закрывает открытые файлы
  • meof — проверяет достигнут ли конец файла
  • mfprintf — преобразует, форматирует и записывает данные в файл
  • fprintfMat — записывает матрицу в файл
  • mfscanf — считывает входные данные из потока, указанного указателем потока (интерфейс с C-функцией fscanf)
  • fscanfMat — считывает матрицу из текстового файла
  • mget — считывает байт или слово в заданном двоичном формате и преобразует в число удвоенной точности
  • mgetl — считывает строки из текстового файла
  • mgetstr — считывает символьную строку из файла
  • mopen — открывает файл в Scilab'е
  • mprintf — converts, formats, and writes data to the main scilab window
  • mputl — записывает строки в текстовый файл
  • mputstr — записывает символьную строку в файл
  • mseek — устанавливает текущую позицию в двоичном файле
  • mtell — управление двоичными файлами
  • mdelete — удаляет файлы
Report an issue
<< movefile Files : Input/Output functions mputl >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Oct 01 17:41:09 CEST 2012