EN JA
GETC(3)
GETC(3) FreeBSD Library Functions Manual GETC(3)

名称

fgetc, getc, getc_unlocked, getchar, getchar_unlocked, getw入力ストリームから次の文字またはワードを取得する

ライブラリ

Standard C Library (libc, -lc)

書式

#include < stdio.h>

int
fgetc( FILE *stream);

int
getc( FILE *stream);

int
getc_unlocked( FILE *stream);

int
getchar( void);

int
getchar_unlocked( void);

int
getw( FILE *stream);

解説

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

getc() 関数は fgetc() と基本的に同じ振る舞いをしますが、これはインラインで展開するマクロです。

getchar() 関数は、 getc( stdin) と同等です。

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

getc_unlocked() と getchar_unlocked() 関数は、呼び出し前に flockfile(3) によってストリームをロックする責任があることを除いて、それぞれ getc() と getchar() と同等です。これらの関数は、文字ごとにストリームをロックするオーバヘッドを避けるためと、同一のストリームから複数のスレッドを読み込む際に入力データが分散されることを避けるために使うことができます。

戻り値

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

規格

fgetc(), getc() と getchar() 関数は、 ISO/IEC 9899:1990 (“ISO C90”) に適合しています。 getc_unlocked() と getchar_unlocked() 関数は、 IEEE Std 1003.1-2001 (“POSIX.1”) に適合しています。

バグ

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