getc
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/12/04 10:10 UTC 版)
ナビゲーションに移動 検索に移動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]。
コード例
脚注
関連項目
固有名詞の分類
- Getcのページへのリンク