fseek

Перемещение в указанное положение в файле

Описание

пример

fseek(fileID, offset, origin) устанавливает индикатор положения файла offset байты из origin в указанном файле.

status = fseek(___) возвращает 0 при успешном выполнении операции. В противном случае fseek возвращает -1. Используйте любую из предыдущих комбинаций входных аргументов.

Примеры

свернуть все

Откройте следующую badpoem.txt файл и выполните операции чтения (которые продвигают указатель положения), а затем используйте seek для перехода к новой позиции в файле.

Использование fopen чтобы открыть файл. Затем используйте ftell для запроса текущей позиции.

fid = fopen('badpoem.txt');
ftell(fid)
ans = 0

Считайте первые три линии и запрашивайте положение в файле после каждого чтения. Использование fgetl для чтения и fseek для проверки текущего положения после операции считывания.

tline1 = fgetl(fid)  % read the first line 
tline1 = 
'Oranges and lemons,'
ftell(fid)
ans = 20

Прочтите вторую линию и исследуйте текущее положение.

tline2 = fgetl(fid)  % read the second line 
tline2 = 
'Pineapples and tea.'
ftell(fid)
ans = 40

Прочтите третью линию и исследуйте текущее положение.

tline3 = fgetl(fid)  % read the third line 
tline3 = 
'Orangutans and monkeys,'
ftell(fid)
ans = 64

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

fseek(fid,20,'bof');
fgetl(fid)
ans = 
'Pineapples and tea.'

Закройте файл.

fclose(fid); 

Входные параметры

свернуть все

Идентификатор файла открытого файла, заданный как целое число. Перед использованием fseek, вы должны использовать fopen чтобы открыть файл и получить его fileID.

Типы данных: double

Количество байтов для перемещения из origin, заданный как целое число. Значение offset может быть положительным, отрицательным или нулевым.

Типы данных: double

Начальное местоположение в файле, заданное как вектор символов, строковый скаляр или скалярное число.

'bof' или -1

Начало файла

'cof' или 0

Текущее положение в файле

'eof' или 1

Конец файла

Типы данных: double | char | string

Совет

  • Если файл имеет n байты данных, а затем те n байты находятся в положениях 0 через n-1.

Альтернативы

Для перехода к началу файла вызовите

frewind(fileID)

Этот вызов идентичен

fseek(fileID, 0, 'bof')

Расширенные возможности

.
Представлено до R2006a