getc()は、ストリームから文字をプログラムに読み込みます。
#include <stdio.h>
int getc(FILE *stream);
streamは読み込むストリームのポインタです。
getc()は、1バイトをstreamから読み出し、unsigned charからintにキャストして返します。エラーが発生するかファイルの終端に達するとEOFが返されます。
getc()はストリームを1回以上評価するマクロとして定義されていることを除いてfgetc()と同じです。
次の例は、カレントディレクトリにあるファイルtest.txtを1バイトずつ読み込んでは標準 出力に出力するという作業をファイルの最後まで繰り返す例です。
#include <stdio.h>
#ifdef _MSC_VER
#pragma warning(disable : 4996)
#endif
int main(int argc, char *argv[])
{
FILE *stream;
int c;
stream = fopen("./test.txt", "r");
if (stream == NULL) {
fprintf(stdout, "ファイルを開くことができません.\n");
return;
}
while (!feof(stream))
{
c = getc(stream);
fputc(c, stdout);
}
fclose(stream);
return 0;
}