fgetc

fgetcは、ファイルストリームから1文字読み込むC言語標準Cライブラリ関数。標準ヘッダーファイル <stdio.h> で宣言されている。呼称はエフゲットシーと呼ばれることが多い。 unsigned char で読み込み int に型変換(キャスト)して返す。入力に成功した場合には入力した文字が、入力に失敗した場合あるいはファイル終端に達した場合には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文字ずつ読み込み、標準出力にその内容が表示される。

関連項目[編集]

外部リンク[編集]