next up previous contents
Next: 3. 一行の読み書き Up: 1. ストリーム入出力 Previous: 1. ファイルのオープンとクローズ

2. 一文字の読み書き

ストリームに対して文字単位の読み書きを行うには、getc()putc() を用いる。実は、これまでに学んだ標準入出力に対する 一文字読み書き関数 getchar(), putchar()は、stdio.h 中で stdout (標準出力), stdin(標準入力) にたいして putc()getc() を行うように定義されたものであった。従って、中身は 同じものであったのである。

getc(),putc() は以下の通りで、

     int getc( FILE *fp );          /* 一文字の読み込み */
     int putc( int c, FILE *fp );   /* 一文字の書き出し */
putc()c に出力したい文字をセットすれば良い。返り値 はどちらも文字である。

なお、こうしたストリームに対する入出力では必ずカレントポジションは自動的に 変更される。 putc(),getc()については一文字分だけカレントポジションがインクリメント されるようになっている。これらの情報は、ファイルポインタのオブジェクトの 中にあり、putc(),getc()が自動的にそれらの情報を更新するので、プログラマ は意識する必要はない。



Noriyo Kanayama