#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; }