2012-02-29 1 views
0

自分のOSにN個のファイルディスクリプタが存在するとします。どのように多くのファイルディスクリプタOSは以下のコードを実行した後になります。Cのファイルディスクリプタ

int fd = dup(oldfd); 

方法について:

int fd = dup2(oldfd,newfd); 

ありがとう!

+0

あなた自身で試してみませんか? – talnicolas

+1

これは宿題ですか?私のSystems Programmingクラスのように聞こえます。 – Coeffect

+0

これは宿題ではなく、私はcコンパイラをpcにインストールしていません。 –

答えて

3

マニュアルページに記載されています。どちらか一方を呼び出した後で、ファイル記述子が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. 
    ... 

したがって、未使用のディスクリプタが新しいディスクリプタとして使用されます。それはあなたの質問に答えるはずです。