質問: ストリームって? プログラミングの超初心者なのですが、現在cの勉強をしています。1つ分からない言葉があるのですが、「ストリーム」について教えてください。例えば「ファイルストリーム」「標準エラー出力ストリーム」「標準入力ストリーム」などです。この「ストリーム」という動作はどういった動作をさすのか教えていただければ幸いです。
回答: ストリームという単語そのものは「流れ」という意味で、データの流れを川の流れに例えてあるのです。 たとえば、川に木材を流して下流に届けることを考えてみます。川がストリーム、上流はあなたのプログラム、下流はファイルや標準出力などです。 あなたは、自由自在に木材を川に流すことができますが、川の流れを途中で制御することはできません。また、相手も木材を受け取ることはできますが、同じことが言えるわけです。 このようにただ、垂れ流し的にデータを流すような構造を「ストリーム」と呼びます。 ファイルストリームは相手がファイルになるもの、標準ストリームは相手がコンソール(画面とキーボードを合わせた言い方)です。 また、出力の場合、自分がデータを流すわけですから相手は下流におり、入力の場合は相手が上流にいてあなたは上流からデータを流します。 なお標準エラー出力ストリームとは、エラーを専門に扱い、かつ出力専用の標準ストリームのことです。 説明がわかりにくかったら補足にそう書いていただきたいと思います(^^;゚。