Функция ungetc

Функция

#include <stdio.h>

int ungetc(int c, FILE *stream);

возвращает символ c в заданный поток ввода stream. Stream должен быть буферизованным и открытым для чтения. Последующая операция чтения из stream начинается с символа c. EOF вернуть в поток посредством использования ungetc нельзя. Эта функция возвращает значение ошибки, если из stream ничего не прочитано или если c назад не возвращен. Символы, размещаемые в потоке посредством ungetc, могут быть уничтожены, если функции fseek или rewind вызваны перед считыванием символа из stream.

Пример:

#include <stdio.h>

#include <ctype.h>

int main( void )

{

int i=0; char ch;

puts("Input an integer followed by a char:");

while((ch = getchar()) != EOF && isdigit(ch))

i = 10 * i + ch - 48; /* convert ASCII into int value */

if (ch != EOF) ungetc(ch, stdin);

printf("i = %d, next char in buffer = %c\n", i, getchar());

return 0;

}

Функции посимвольного вывода

Функция Назначение
#include <stdio.h> int fputchar(int c); Помещает символ в файл стандартного вывода stdout
#include <stdio.h> int putchar(int c); Помещает символ в файл стандартного вывода stdout. Является макроопределением через функцию putc().
#include <stdio.h> int putc(int c, FILE *stream); Помещает символ в открытый файл, описываемый переменной типа FILE, на которую указывает fp. Является макроопределением через функцию _fputc().
#include <stdio.h> int fputc(int c, FILE *stream); Помещает символ в открытый файл, описываемый переменной типа FILE, на которую указывает fp.
#include <conio.h> int putch(int c); Выводит символ в текущей позиции текстового окна экрана.

Функции стандартного вывода

Функция putchar

Вывод можно осуществлять с помощью функции putchar(c).

Форма записи:

#include <stdio.h>

int putchar(int c);

функции putchar(c) помещает символ 'c' в "стандартный ввод", который по умолчанию является терминалом. Вывод можно направить в некоторый файл с помощью обозначения > : если prog использует putchar, то командная строка

prog > outfile

приведет к записи стандартного вывода в файл outfile, а не на терминал.

Вывод, осуществляемый функцией printf, также поступает в стандартный вывод, и обращения к putchar и printf могут перемежаться.

Пример:

#include <stdio.h>

main()

{ char c;

c=getchar();

putchar(c);

printf(“%d”,c);

}

Результат:

а

а224

В данном примере показано неявное приведение типа char в тип int, в результате значение переменной с=’а’ преобразовывается в код этого символа, который равен 224.