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.