CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по библиотечным функциям языка Си
lseek - изменить позицию в файле
Описание
Изменяет текущую позицию чтения/записи в файле, задан-
ном дескриптором fd. Параметр mode может принимать одно
из следующих значений:
SEEK_SET - Указатель сдвигается на offset байтов от
начала файла.
SEEK_CUR - Сдвиг на offset байтов относительно теку-
щей позиции.
SEEK_END - Сдвиг на offset байтов от конца файла.
Использование
#include <io.h>
long lseek(int fd, long offset, int mode);
Возвращаемое значение
Возвращает смещение в байтах новой позиции относитель-
но начала файла. В случае ошибки возвращает -1 и уста-
навливает errno.
Пример
#include <stdio.h>
#include <io.h>
#include <dos.h>
main()
{
int fp;
long offset, lpos;
fp = open("file.dat", O_RDWR);
if (fp<0)
return;
offset = 0L;
lpos = lseek(fp, offset, SEEK_SET)
printf("Текущая позиция=%ld\n", lpos);
offset = 10L;
lpos = lseek(fp, offset, SEEK_CUR);
printf("Текущая позиция=%ld\n", lpos);
offset = 50L;
lpos = lseek(fp, offset, SEEK_END);
printf("Текущая позиция=%ld\n", lpos);
close(fp);
}
Рекомендация
Смотрите также fseek.
