GETC(3)

名称
fgetc, getc, getchar, getw - 入力ストリームから次の文字またはワードを取得

ライブラリ
libc

書式
#include <stdio.h> int fgetc(FILE *stream) int getc(FILE *stream) int getchar() int getw(FILE *stream)

解説
fgetc() 関数は、 stream で指したストリームから、(存在している場合) 次の入力文字を取得するか、 または、 ungetc(3) によってそのストリームにプッシュバックされた、次の文字を取得します。

getc() 関数は fgetc() と基本的に同じ機能ですが、これはインラインで展開するマクロです。

getchar() 関数は、 引数 stdin がついている getc() と同等です。

getw() 関数は stream で指したストリームから、次の int を (存在している場合) 取得します。

戻り値
処理が正常に完了した場合、これらのルーチンはいずれも stream から次の要求オブジェクトを返します。 ストリームがファイルの終わりに達したか、 または読込みエラーが発生した場合は EOF を返します。 ファイルの終わりか、エラーなのかを識別するには、 feof(3) と ferror(3) ルーチンを使用する必要があります。 エラーが発生した場合は、グローバル変数 errno にエラーを示す値が設定されます。 ファイルの終端を示す状態は端末であってもそのまま残り、 その後の読み込みに対しては clearerr(3) によって状態がクリアされなければ EOF を返すことになります。

関連項目
ferror(3), fopen(3), fread(3), putc(3), ungetc(3)

規格
fgetc(), getc() および getchar() 関数は、 isoC に適合しています。

バグ
EOF は、有効な整数値なので getw() を呼び出した後のエラーをチェックするには、 feof(3) および ferror(3) を使用する必要があります。 int のサイズとバイト順はマシンによってさまざまです。 移植可能なアプリケーションが目的なら、 getw() の使用は推奨できません。