fseek

Переместитесь в заданное положение в файле

Синтаксис

fseek(fileID, offset, origin)
status = 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

Конец файла

Типы данных: удвойтесь | char | строка

Советы

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

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

Чтобы переместиться в начало файла, вызвать

frewind(fileID)

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

fseek(fileID, 0, 'bof')

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

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

Была ли эта тема полезной?