exponenta event banner

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