Чтение/запись из файлового дескриптора со смещением

Я использую Читать(2) и написать(2) функции для чтения и записи в файл заданного дескриптора файла.

есть ли такая функция, которая позволяет поместить смещение в файл для чтения / записи?

5 ответов


Да, вы ищете lseek.

http://linux.die.net/man/2/lseek


здесь pread/pwrite функции, которые принимают смещение файла:

ssize_t pread(int fd, void *buf, size_t count, off_t offset);
ssize_t pwrite(int fd, const void *buf, size_t count, off_t offset);

да. Вы используете


lseek() и вы примете.


Да, вы можете использовать lseek():

off_t lseek(int fd, off_t offset, int whence);

на lseek() функция перемещает смещение открытого файла, связанного с файловым дескриптором fd аргумент offset согласно директиве whence следующим образом:

SEEK_SET

смещение значение смещения в байтах.

SEEK_CUR

смещение устанавливается в его текущее местоположение плюс смещение байт.

SEEK_END

смещение устанавливается на размер файла плюс байты смещения.