#include <stdio.h>
int getc(FILE *stream);
Функция getc() возвращает из входного потока stream символ, следующий за указателем текущей позиции, а затем увеличивает значение указателя текущей позиции. При чтении символа предполагается, что он имеет тип unsigned char, который потом преобразуется в целый.
При достижении конца файла функция getc() возвращает значение EOF. Ho поскольку значение EOF само является целым значением, при работе с двоичными файлами проверять условие достижения конца файла необходимо с помощью функции feof(). При обнаружении ошибки функция getc() также возвращает значение EOF. Поэтому для выявления ошибок при работе с двоичными файлами необходимо использовать функцию ferror().
Функции getc() и fgetc() идентичны, но в большинстве реализаций функция getc() определена как макрос.
Пример
Следующая программа читает содержимое текстового файла и выводит его на экран.
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
FILE *fp;
char ch;
if((fp=fopen(argv[1], "r"))==NULL) {
printf("Не удается открыть файл.\n");
exit(1);
}
while((ch=getc(fp))!=EOF) {
printf("%c", ch);
}
fclose(fp);
return 0;
}
Зависимые функции
fputc() fgetc() putc() fopen()