fd = open ("sample.dat", O_RDONLY);
открыть файл
dup2 (fd, 5);
и скопируйте дескриптор файла fd
в дескриптор номер 5
теперь вы можете сделать read (5, buffer, BUFF_MAX);
или также использовать fd
для доступа к тому же файлу. Вам нужно явно закрыть fd
, если вам это не нужно.
Как сказал @Arkadiy, подробности смотрите man dup2
.