標準入力、標準出力標準エラー出力 - 標準I / Oストリーム

FDの#include <stdio.hに> FDにextern FILEの*のSTDIN; FDにextern FILEの*のSTDOUT; FDにextern FILEの*の標準エラー出力。

説明説明

典型的には、各プログラムが開かれるときにUnixのスタートアップ3つのストリーム、入力用と出力用、または印刷用の診断エラーメッセージ。一般的に、それらがユーザーの端末に接続されている((4)端末を参照)だけでなく、設定を選択すべきか、親プロセスに応じて、ファイルや他のデバイスを指すことがあります(sh(1)参照リダイレクション( ``リダイレクション「」 )セクション。)

入力ストリームは、 ``標準入力「と呼ばれる」;出力ストリームは``標準出力と呼ばれる'、エラーストリームは`標準誤差「」'と呼ばれます。この用語は通常、彼らがされ、これらのファイルを参照するために使用される表記を省略している標準入力 、標準出力標準エラー出力を

(3)各マクロ標準入出力であるにこれらのシンボル、ファイルポインタはポインタ型であり、同様の関数fprintf(3)または関数fread(3)などの機能のために使用することができます。

FILEをパッケージするUnixファイル記述子にバッファリングされているので、下側の原稿は、UNIXファイル・インターフェースにアクセスするために使用されてもよいです。すなわち、(2)とのlseek(2)関数を読み取ることと同様です。流れSTDINの 標準出力標準エラー 0、1、2、それぞれ整数に関連付けられたファイル記述子を。プリプロセッサシンボルSTDIN_FILENO、STDOUT_FILENOそれぞれSTDERR_FILENO、そして内の<unistd.h>に定義されるようにその値。

注FILEミックスとRAWファイル記述子が予期しない結果をもたらすかもしれないが、それは一般的に避けるべきです。(下に取得したい人のために:POSIX.1の仕様8.2.3は、このようなミックスが間違って行くことができない方法を詳細に説明)stdioのはただである一方、単純なルールは、カーネルによって制御されるそのファイルディスクリプタでありますライブラリ。これは、execを呼び出すときに、例えば、子プロセスは、すべてのオープン・ファイル記述子を継承することができることを意味しませんが、既存のストリームは、もはやアクセスすることができます。

シンボルのでSTDINの STDOUT標準エラーをマクロとして指定され、割り当てはポータブルではないそれらをもたらすであろう。(3)freopenはライブラリ関数を使用して、異なる標準ストリームファイルを指すために使用することができます。この機能は、導入するように設計された標準入力 、標準出力標準エラー出力を再割り当て。標準ストリームは、(3)の出口を呼び出すときに閉じて、通常の手順を一時停止されます。 

おすすめ

転載: www.cnblogs.com/fanweisheng/p/11100862.html