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文字ずつ読み込み、標準出力にその内容が表示される。

関連項目

外部リンク