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

関連項目

外部リンク

  • K&R
  • ANSI C
    • C89
    • C90
  • C99
  • C11
  • C17(英語版)
  • C2x(英語版)
  • Embedded C(英語版)
  • MISRA C
Cの機能
  • 関数
  • ヘッダファイル
  • 演算子
  • 文字列(英語版)
  • 文法(英語版)
  • プリプロセッサ(英語版)
  • データ型(英語版)
  • キーワード
  • フリースタンディング環境
  • 標準Cライブラリの関数
    • ctype.h(英語版)
    • stdio.h
    • math.h(英語版)
    • stdlib.h(英語版)
    • string.h(英語版)
    • time.h
    • stdarg.h(英語版)
    • POSIXライブラリ(英語版)
    標準Cライブラリ
    コンパイラ
    統合開発環境
    派生言語
    関連項目
    • カテゴリ カテゴリ