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 |