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удвоенная точность, doublefплавающая запятая, floatlдлинное, long longiцелочисленное, int (long int)sкороткое, shortcсимвол, characterНеобязательный флаг:u..
беззнаковый (в сочетании с одним из вышеперечисленных типов)
..l
прямой порядок байтов (в сочетании с одним из вышеперечисленных
типов)
..b
обратный порядок байтов (в сочетании с одним из вышеперечисленных
типов)
Чтение байтов автоматически переключается при необходимости (с помощью проверки статуса little=endian).
Такое поведение переключения можно подавить, если добавить флаг в функцию mopen.
Форматы "l", "d" и
"f" корректны только с функцией
mget.
Примеры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
fscanfMat
mgetl
mgetstr
mopen
mprintf
mput
mputl
mputstr
mseek
mtell
mdelete