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]

コード例 編集

脚注 編集

関連項目 編集