Программирование видеоадаптеров CGA,EGA и VGA

         

Функции putchar() и putc()



Функции putchar() и putc()

Эти функции помещают один символ в текущую позицию выходного потока. Прототипы функциий представлены ниже: int putc( int ch, FILE *stream ); int putchar( int ch );

Функция putc() отличается от putchar() наличием второго аргумента, который определяет выходной поток, в который помещается символ. Она может использоваться и для записи символов в открытый файл и для записи в стандартные потоки ввода-вывода. В частности, если второй аргумент функции равен константе stdout, то она эквивалентна функции putchar() и выводит символ в стандартный выходной поток. Этот поток может идти на экран дисплея или в файл, если используется свойство переназначения потока. Фактически функция putchar() является макроопределением: #define putchar(_c) putc((_c),stdout)

Первые параметры обеих функций совпадают по смыслу и задают ASCII-код выводимого символа (не смотря на то, что переменная ch целого типа, используется только ее младший байт). При этом функции обрабатывают управляющие символы. Список управляющих символов приведен в таблице 13.1: Символ Код ASCII Значение \a 07h звуковой сигнал \b 08h перемещение назад \f 0Ch переход к новой странице \n 0Ah новая строка \r 0Dh возврат каретки


\t 09h горизонтальная табуляция \v 0Bh вертикальная табуляция \' 27h символ кавычки \" 22h двойная кавычка \\ 5Ch обратный слеш \% 25h знак процента

Таблица 13.1 Управляющие символы.

Функции возвращают ASCII-код выведенного символа, а в случае ошибки возвращают константу EOF. Чтобы конкретизировать ошибку можно воспользоваться функцией ferror(). // использование функци putchar() #include <stdio.h> void main(void) { char *ptr, out_str[] = "\aputchar\nputc\a"; for(ptr = out_str; *ptr; putchar(*(ptr++)) ); }

Включаемый файл stdio.h содержит спецификации функций putchar() и putc(). Следовательно, этот файл необходимо включать во все программы, использующие данные функции.



Содержание раздела