getc
表示
getcは、C言語の標準入出力ヘッダー(<stdio.h>)で宣言されている関数。引数で指定された入力ファイルストリームから1文字を読み取る。呼称はゲットシーと呼ばれることが多い。
整数型(int
型)の返却値を持ち、入力に成功した場合には入力した文字を返却し、入力に失敗した場合もしくはファイル終端に達した場合にはEOFを返却する。
なお、getc関数はfgetc関数と等価であるが、C言語の標準規格においてgetcはマクロで実装されていてもよいとされている。getcがマクロで実装されている場合、streamを2回以上評価する場合があるため、getcの引数には副作用のある式を指定すべきではない。例えば、ファイルポインタFILE* fp
に対するgetc(fp = fopen(fileName, "r"))
や、ファイルポインタへのポインタFILE** fpp
に対するgetc(*fpp++)
のようなコードは正しく評価されないことがある[1]。また、マクロ実装であった場合は関数へのポインタを取得できない。
形式
[編集]#include <stdio.h>
int getc(FILE *stream);
getchar
は、getc
の引数stream
に標準入力stdin
を指定した場合、すなわちgetc(stdin)
と等価である[2]。
コード例
[編集]→詳細は「fgetc」を参照