Fgetc

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

 外部リンク 


Category:標準Cライブラリ