fgetc関数は、ファイルポインタで示されるストリームから1文字入力します。fgetc関数とgetc関数は機能及び、形式とも同じですが、getc関数はマクロとして実装されている可能性があります。
#include <stdio.h>
int fgetc(FILE *stream);
*streamはfopen関数で取得した、ファイルポインタを指定します。
戻り値として、入力した1文字をint型として返します。ファイルの終わりや、エラーの場合はEOFの値を返します。
プログラム 例
#include <stdio.h>
int main(int argc, char **argv)
{
FILE *fp;
int in_data;
int return_code = 0;
if (argc == 2) {
if ((fp = fopen(*(argv+1), 'r')) != NULL) {
while((in_data = fgetc(fp)) != EOF) {
putchar(in_data);
}
fclose(fp);
}
else {
printf('ファイルのオープンに失敗しました\n');
return_code = 1;
}
}
else {
printf('実行時引数の数が不当です\n');
return_code = 2;
}
return return_code;
}
例の実行結果
$ cat temp.txt Hello World!!. $ $ ./fgetc.exe Hello World!!. $