Описание функций Си

       

Lseek



     lseek

Функция Перемещает указатель чтения/записи файла.

Синтаксис #include

long lseek(int handle, long offset,int fromwhere);

Файл, содержащий io.h прототип

Описание Функция lseek устанавливает указатель файла, свя- занный с параметром handle, в новую позицию, ко- торая находится на offset байтов относительно местоположения заданного параметром fromwhere. Параметр fromwhere должен иметь одно из трех зна- чений 0, 1 или 2, которые представлены тремя сим- волическими константами (определенными в файле stdio.h) следующим образом: --------------------------------------------------¬ ¦Параметр fromwhere Месторасположение ¦ ¦ в файле ¦ +-------------------------------------------------+ ¦SEEK_SET (0) начало файла ¦ ¦SEEK_CUR (1) текущая позиция указател¦ ¦ файла ¦ ¦SEEK_END (2) конец файла ¦ L--------------------------------------------------

Возвращаемое Функция lseek возвращает значение смещения значение новой y позиции указателя, измеряемой в байтах от начала файла. В случае ошибки функция lseek возвращает значение -1L и глобальная перемен- ная errno получает одно из следующих значений:

EBADF - неверный номер файла; EINVAL - неверный аргумент.

На устройствах, непригодных для поиска, таких, как терминалы и принтеры,возвращаемое значение неопределено.

Переносим. lseek поддерживается на всех системах UNIX.

Смотрите также

Пример:

#include

#include

#include

#include

#include

int main(void) { int handle; char msg[] = "Это тест"; char ch; /* создать файл */ handle = open("TEST.$$$",O_CREAT|O_RDWR,S_IREAD|S_IWRITE); /* вывести в файл данные */ write(handle,msg,strlen(msg)); /* переместить указатель в начало файла */ lseek(handle,0L,SEEK_SET); /* считывать данные из файла, пока не встретим EOF */ do { read(handle,&ch,1); printf("%c",ch); } while(!eof(handle)); close(handle); return 0; }



Содержание раздела