【ひょうじゅんすとりーむ】
標準ストリーム とは?
最終更新:
💡 プログラムの「受け取り口・結果の出口・お知らせの出口」
プログラムがデータを受け取る標準入力、結果を送る標準出力、エラーなどを伝える標準エラー出力という3つの入出力の流れ。接続先は画面やキーボードに限らず、ファイルなどへ切り替えられる。
📌 このページのポイント
ペンギン先生、標準入力ってキーボードのことなの?
結果とエラーって、どちらも画面に出るのに別なの?
同じ画面につながっていても、流れは別だよ。通常の結果とエラーメッセージを分けて出すプログラムなら、結果をファイルに保存しながらエラーだけ画面で確認できるんだ。
入力をファイルから渡すこともできるの?
結果を保存したのに、エラーだけ画面に残ったことがあるよ。
「エラーの出口」があるなら、失敗は自動でそこに分けられるの?
もっと詳しく知りたい人へ
C言語のstdinやstdoutは、ファイルディスクリプタの番号なの?
番号そのものではありません。MicrosoftのCランタイムでは、stdin・stdout・stderrは標準ストリームを参照するポインターとして用意され、入出力関数へ渡して使います。対応する整数のファイルディスクリプタを得るには_filenoを使います。ストリームのポインターと、その識別番号を同じ値として扱わないようにします。
まとめ:ざっくりこれだけ覚えればOK!
「標準ストリーム」って出てきたら「入力・結果・エラーを受け渡す3つの流れ」と思えればだいたいOK!
📖 おまけ:英語の意味
「Standard Streams」 = 標準の入出力の流れ
💬 streamは「流れ」という意味で、ここではプログラムへ入るデータや外へ出るデータの流れを表しているんだよ。