Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - 日本語 -
Справка Scilab >> Файлы: функции ввода/вывода > mget

mget

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

mgeti

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

Синтаксис

x = mget([n, type, fd])
x = mgeti([n, type, fd])

Аргументы

n

положительный скаляр: количество считываемых данных.

fd

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

type

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

x

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

Описание

Функция mget считывает данные со входа, определённого параметром потока fd и возвращает вектор данных с плавающей запятой.

Функция mgeti считывает данные со входа, определённого параметром потока fd и возвращает вектор целочисленных данных.

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

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

В Windows, поведение по умолчанию состоит в пропуске байта 13 (0x0D). Функцию mopen следует вызывать с опцией 'b', например, fd1 = mopen(file1,'rb'), так что все байты без исключения будут прочитаны.

Тип данных:

d

удвоенная точность, double

f

плавающая запятая, float

l

длинное, long long

i

целочисленное, int (long int)

s

короткое, short

c

символ, character

Необязательный флаг:

u..

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

..l

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

..b

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

Чтение байтов автоматически переключается при необходимости (с помощью проверки статуса little=endian).

Такое поведение переключения можно подавить, если добавить флаг в функцию mopen.

Форматы "l", "d" и "f" корректны только с функцией mget.

Примеры

file1 = fullfile(TMPDIR,'test1.bin');
file2 = fullfile(TMPDIR,'test2.bin');
fd1=mopen(file1,'wb');
fd2=mopen(file2,'wb');
mput(1996,'ull',fd1);
mput(1996,'ull',fd2);
mclose(fd1);
mclose(fd2);

fd1=mopen(file1,'rb');
if 1996<>mget(1,'ull',fd1)
  write(%io(2),'Bug');
end

fd2=mopen(file2,'rb');
if 1996<>mget(1,'ull',fd2)
  write(%io(2),'Bug');
end

mclose(fd1);
mclose(fd2);

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

  • mclose — закрывает открытые файлы
  • meof — проверяет достигнут ли конец файла
  • mfprintf — преобразует, форматирует и записывает данные в файл
  • fprintfMat — записывает матрицу в файл
  • mfscanf — считывает входные данные из потока, указанного указателем потока (интерфейс с C-функцией fscanf)
  • fscanfMat — считывает матрицу из текстового файла
  • mgetl — считывает строки из текстового файла
  • mgetstr — считывает символьную строку из файла
  • mopen — открывает файл в Scilab'е
  • mprintf — converts, formats, and writes data to the main scilab window
  • mput — записывает байт или слово в заданном двоичном формате
  • mputl — записывает строки в текстовый файл
  • mputstr — записывает символьную строку в файл
  • mseek — устанавливает текущую позицию в двоичном файле
  • mtell — возвращает смещение текущего байта относительно начала файла
  • mdelete — удаляет файлы
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Feb 14 15:13:25 CET 2017