Может кто-нибудь объяснить, что делает dup () в C?

Я знаю, что dup, dup2, dup3 " создают копию файлового дескриптора oldfd " (со страниц руководства) . Однако я не могу это переварить.

Насколько я знаю, дескрипторы файлов - это просто числа для отслеживания местоположения файлов и их направления (ввод / вывод). Разве не было бы проще просто

fd=fd2;

Каждый раз, когда мы хотим дублировать дескриптор файла?

И что-то еще ..

dup () использует неиспользуемый дескриптор с наименьшим номером для нового дескриптора.

Означает ли это, что он также может принимать в качестве значения stdin , stdout или stderr , если мы предполагаем, что у нас есть close () -это один из тех?

20
задан Pithikos 22 October 2011 в 18:12
поделиться