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