fgetcは、ファイルストリームから1文字読み込むC言語の標準Cライブラリの関数。標準ヘッダーファイル <stdio.h> で宣言されている。呼称はエフゲットシーと呼ばれることが多い。 で読み込み に型変換(キャスト)して返す。入力に成功した場合には入力した文字が、入力に失敗した場合あるいはファイル終端に達した場合にはEOFが返却値となる。

fgetc関数は、動作的にはgetcと等価である。だが、getcがマクロで実装されてもよいのに対し、fgetcは必ず関数として実装されている。そのため、fgetcの引数として副作用のある式を指定しても、問題なく動作する。また、関数ポインタを取得することもできる。

形式 #include <stdio.h> int fgetc(FILE *stream);

コード例 #include <stdio.h>

int main(void) { int c; FILE *infp;

infp = fopen("infile.txt", "r"); if (infp == NULL) { return -1;

/* ここでは fgetc の代わりに getc を使うこともできる */ while ((c = fgetc(infp)) != EOF) { /* ここでは fputc の代わりに putc や putchar を使うこともできる */ fputc(c, stdout);

fclose(infp); return 0; } infile.txt というテキストファイルから1文字ずつ読み込み、標準出力にその内容が表示される。

関連項目 C言語 標準Cライブラリ fputc getc putc

外部リンク