Чтение/запись из файлового дескриптора со смещением
Я использую Читать(2) и написать(2) функции для чтения и записи в файл заданного дескриптора файла.
есть ли такая функция, которая позволяет поместить смещение в файл для чтения / записи?
5 ответов
здесь 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()
:
off_t lseek(int fd, off_t offset, int whence);
на
lseek()
функция перемещает смещение открытого файла, связанного с файловым дескрипторомfd
аргументoffse
t согласно директивеwhence
следующим образом:
SEEK_SET
смещение значение смещения в байтах.
SEEK_CUR
смещение устанавливается в его текущее местоположение плюс смещение байт.
SEEK_END
смещение устанавливается на размер файла плюс байты смещения.