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;
}
関連項目
編集外部リンク
編集fgetc(3)
– JM Project Linux Library Functions マニュアル