ストリーム

 前回の講座では、C言語におけるファイルの入出力の処理に関する概要を説明しました。今回は、ストリームという概念について説明します。

 C言語の用語(専用の用語というわけではありませんが)で、プログラムとファイルの間のデータの流れに関する経路のことをストリームと言います。各種サイトや書籍でも触れられています。ストリームという単語そのものは和訳すると「流れ」という意味で、ファイル等のデータの流れを川の流れに例えているのです。

 前回も触れたように、まず、プログラムでファイルをオープンします。すると、ファイルとプログラムはストリームで結ばれます。プログラムとファイルの間に経路(川の流れみたいなもの)が出来上がり、二つはその経路で結ばれます。その経路によってデータが行き来(入出力)できる、ということになります。そのため、ストリームを通らないと、データの入出力はできない、ということになります。

 もう少しわかりやすく説明すると、このような感じになります。

『ストリーム(経路)の模式図』

  Cのプログラム
    ↑
  【文字などのデータ】
    ↓
  ファイル

 上記は、ストリームの模式図です。プログラムから見た場合、データを必要として読み込むときは、ファイルを直接読み込むのではなくストリームからデータをもらうような形になります。また、逆に、データを書き込みたいときは、同じようにファイルに直接書き込むのではなくストリームにデータを送るような形になるのです。

 実際に、どのようにプログラムを書くかがわからないと、ピンと来ない方も多いかと思いますので、次回からソースコードを用いてプログラミングの書き方について説明していきたいと思います。

 Tips:printf関数やscanf関数に代表される、標準入力(キーボード入力)や標準出力(ディスプレイ出力)も、ある意味ストリームの一種と言えます。C言語の内部処理的には、キーボード入力もディスプレイ出力も、ファイル入力やファイル出力と同じように扱われます。

■スポンサーリンク

このページの先頭へ