GETC(3S)

НАЗВАНИЕ
getc, getchar, fgetc, getw - считывание символа или слова из потока

СИНТАКСИС


	#include <stdio.h>



	int getc (stream)

	FILE *stream;



	int getchar ( )



	int fgetc (stream)

	FILE *stream;



	int getw (stream)

	FILE *stream;

ОПИСАНИЕ
Макрос getc выдает в виде целого числа следующий символ (байт) из указанного потока ввода stream и перемещает текущую позицию (если она определена) на один символ вперед. Макрос getchar эквивалентен getc (stdin).

Функция fgetc действует аналогично getc, но реализована именно как функция, а не макрос. Функция fgetc выполняется медленнее, чем getc, но обращение к ней требует меньше памяти, и ее имя может передаваться в качестве аргумента функции.

Функция getw выдает в виде целого числа следующее слово (для большинства компьютеров это четыре байта) из указанного потока ввода stream и перемещает текущую позицию (если она определена) на слово вперед. Никакого специального выравнивания текущей позиции (например, по границе слова) не предполагается и не производится.

СМ. ТАКЖЕ
fclose(3S), ferror(3S), fopen(3S), fread(3S), gets(3S), putc(3S), scanf(3S), stdio(3S).

ДИАГНОСТИКА
При достижении конца файла или при возникновении ошибки возвращается константа EOF. Чтобы различать эти ситуации, следует использовать функцию ferror(3S).

ОГРАНИЧЕНИЕ
Реализация макроса getc такова, что значение аргумента stream вычисляется несколько раз. Поэтому, например, обращение getc(*f++) бессмысленно. В подобных случаях следует пользоваться функцией fgetc.