stdoutLinuxCとの違いを考えていましたSTDOUT_FILENO。
いくつかの検索作業の後、私は次の結論を導き出します。確認して間違いを修正するのを手伝ってもらえますか?ありがとう
stdoutC言語の標準I/Oストリームに属します。タイプがFILE*で、stdio.hで定義されているタイプSTDOUT_FILENO、int型を持ち、で定義されunistd.hます。LINUXシステムのファイル記述子です。ではunistd.h、次のように説明されています。
The following symbolic constants shall be defined for file streams: STDERR_FILENO File number of stderr; 2. STDIN_FILENO File number of stdin; 0. STDOUT_FILENO File number of stdout; 1.
したがって、私の意見では、STDOUT_FILENOシステムレベルの呼び出しに属し、ある程度はシステムAPIのようになります。STDOUT_FILENOシステム内の任意のデバイスを記述するために使用できます。
はstdoutより高いレベル(ユーザーレベル?)に配置され、実際にはの詳細をカプセル化しますSTDOUT_FILENO。stdoutI/Oバッファがあります。
それは彼らの違いについての私の理解です。コメントや訂正をいただければ幸いです。