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文字ずつ読み込み、標準出力にその内容が表示される。
関連項目
[編集]外部リンク
[編集]fgetc(3)
– JM Project Linux Library Functions マニュアル