mseek
устанавливает текущую позицию в двоичном файле
Синтаксис
mseek(n [,fd, flag])
Аргументы
- n
положительный скаляр: смещение от исходного положения в количестве байтов.
- fd
скаляр: дескриптор файла, возвращённый функцией
mopen
.-1
указывает на последний открытый файл. Значение по умолчанию равно-1
.- flag
строка: определяет исходное положение. Значение по умолчанию --
'set'
.
Описание
Функция mseek
устанавливает положение следующей
операции ввода или вывода потока fd
. Новое
положение находится на расстоянии (со знаком), указанном в
n
байт от начала, от текущего положения или от
конца файла в соответствии со значением flag
,
которое может быть 'set'
, 'cur'
или 'end'
.
Функция mseek
позволяет индикатору положения в
файле быть установленным за пределами конца существующих данных в
файле. Если данные будут позднее записаны в это место, то последующее
чтение этих данных в пропущенном месте будет возвращать ноль до тех
пор, пока данные не будут действительно записаны в пропущенное место.
Функция mseek
сама по себе не увеличивает
размер файла.
Примеры
file3=fullfile(TMPDIR,'test3.bin'); fd1= mopen(file3,'wb'); for i=1:10 mput(i,'d'); end mseek(0); mput(678,'d'); mseek(0,fd1,'end'); mput(932,'d'); mclose(fd1) fd1= mopen(file3,'rb'); res=mget(11,'d') res1=[1:11]; res1(1)=678;res1($)=932; if res1<>res then write(%io(2),'Ошибка в программе'); end mseek(0,fd1,'set'); // попытка чтения данных более, чем сохранено res1=mget(100,'d',fd1); if res1<>res then write(%io(2),'Ошибка в программе'); end meof(fd1) mclearerr(fd1) mclose(fd1);
Смотрите также
- mclose — закрывает открытые файлы
- meof — проверяет достигнут ли конец файла
- mfprintf — преобразует, форматирует и записывает данные в файл
- fprintfMat — записывает матрицу в файл
- mfscanf — считывает входные данные из потока, указанного указателем потока (интерфейс с C-функцией fscanf)
- fscanfMat — считывает матрицу из текстового файла
- mget — проверяет числа в двоичом файле и возвращает их в виде десятичных чисел
- mgetstr — считывает символьную строку из файла
- mopen — открывает файл в Scilab'е
- mprintf — converts, formats, and writes data to the main scilab window
- mput — записывает байт или слово в заданном двоичном формате
- mputstr — запись отдельного текста в открытый файл
- mtell — возвращает смещение текущего байта относительно начала файла
- mdelete — удаляет файлы
Report an issue | ||
<< mputstr | Файлы: функции ввода/вывода | mtell >> |