0
自分のOSにN個のファイルディスクリプタが存在するとします。どのように多くのファイルディスクリプタOSは以下のコードを実行した後になります。Cのファイルディスクリプタ
int fd = dup(oldfd);
方法について:
int fd = dup2(oldfd,newfd);
ありがとう!
自分のOSにN個のファイルディスクリプタが存在するとします。どのように多くのファイルディスクリプタOSは以下のコードを実行した後になります。Cのファイルディスクリプタ
int fd = dup(oldfd);
方法について:
int fd = dup2(oldfd,newfd);
ありがとう!
マニュアルページに記載されています。どちらか一方を呼び出した後で、ファイル記述子が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.
...
したがって、未使用のディスクリプタが新しいディスクリプタとして使用されます。それはあなたの質問に答えるはずです。
あなた自身で試してみませんか? – talnicolas
これは宿題ですか?私のSystems Programmingクラスのように聞こえます。 – Coeffect
これは宿題ではなく、私はcコンパイラをpcにインストールしていません。 –