Файловые дескрипторы на C - PullRequest
0 голосов
/ 29 февраля 2012

Предположим, что в моей ОС существует N файловых дескрипторов. Сколько файловых дескрипторов будет иметь ОС после выполнения приведенного ниже кода:

    int fd = dup(oldfd);

Как насчет:

   int fd = dup2(oldfd,newfd);

Спасибо!

1 Ответ

3 голосов
/ 29 февраля 2012

Это дано в справочных страницах.У вас будет N+1 файловый дескриптор после вызова любого из них.

From manpages
    ...
    dup and dup2 create a copy of the file descriptor oldfd.

    After successful return of dup or dup2, the old and new descriptors 
    may be used interchangeably. 

    dup uses the lowest-numbered unused descriptor for the new descriptor.
    ...

Итак, неиспользуемый дескриптор используется как новый.Это должно ответить на ваш вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...