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 > mseek

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 Files : Input/Output functions mtell >>

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