next up previous contents
Next: 1. ファイルのオープンとクローズ Up: 23. ファイル入出力 Previous: 1. 新しい型の定義

2. ストリーム入出力

C言語には、入出力のために、高レベル(ストリーム)入出力と低レベル入出力 が用意されている。高レベル入出力は、主にはテキストなどを扱う際に便利 な文字どおり高レベルな関数が用意されており、一方、低レベル入出力関数は Unixのシステムコールなどを直接扱うために元々は用意されたものであるが、 言語的にはシステムに関係なく利用できるようになっている。ここでは、 高レベル入出力について簡単に扱うことにする。

高レベル入出力関数群は、まず自動的にバッファリングを行う。つまり、 ディスクなどの装置からファイルを読み書きする際に、一バイトづつ行って いたのでは効率が悪いので、メモリ中にバッファを設けて、一度にある程度 読んだり、書いたりすることを裏で行ってくれるようになっている。これに よって、プログラム的には一バイトづつの処理であっても、効率が落ちることなく プログラムが実行できるようになっている訳である。このように入力や 出力が言わばストリーム(流れ)のように見えるので、ストリーム入出力とも 呼ばれる訳である。同時に、低レベルの 入出力で行わなければならないルーチンワークの仕事も自動的に行うように なっているので、プログラマーは比較的に細かい違いを意識することなく プログラムが出来るようになっている。





Noriyo Kanayama 平成14年11月26日