Создать дескриптор файла - PullRequest
0 голосов
/ 09 мая 2011

Я хочу создать дескриптор файла в C, значение которого я укажу в коде.У меня есть целочисленная переменная, которая определяет значение дескриптора файла, который будет создан.Например, мне может понадобиться дескриптор файла, значение которого равно 5, и позже связать его с файлом с именем «sample.dat».

Ответы [ 2 ]

4 голосов
/ 09 мая 2011

Вам нужно dup2 ()

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

3 голосов
/ 09 мая 2011

fd = open ("sample.dat", O_RDONLY); открыть файл

dup2 (fd, 5); и скопируйте дескриптор файла fd в дескриптор номер 5

теперь вы можете сделать read (5, buffer, BUFF_MAX); или также использовать fd для доступа к тому же файлу. Вам нужно явно закрыть fd, если вам это не нужно.

Как сказал @Arkadiy, подробности смотрите man dup2.

...