Неформатированный ввод-вывод
Для ввода-вывода символов и строк можно использовать соответствующие функции стандартного ввода-вывода (stdio.h).
Функция ввода символов (без параметров):
getchar ( )
определяет ASCII-код нажатой клавиши, записывает его в буфер ввода stdin, а после нажатия клавиши <Enter> передает в оперативную память для ввода в переменную, описанную с типом int или char.
Функция вывода символа:
putchar (ch)
преобразует ASCII-код, записанный в переменной ch (тип int или char), в символ, выводимый на экран.
Пример 3.
Ввести и вывести символ, а затем определить его коды (10-чный, 8-чный, 16-чный ).
char ch; /* переменная для символа */
printf ( ''Нажмите клавишу символа, а затем Enter: '');
ch = getchar( ); /* ввод кода символа */
printf (“\nВывод символа:”);
putchar (ch);
printf (“\nСимвол\t10-чный\t8-чный\t16-чный коды\n”);
printf (“%c\t%d\t%o\t%x”, ch, ch, ch, ch);
Функция ввода строки символов:
gets(string) , где
string – указатель (адрес) для ввода строки символов, например, имя массива символов.
В отличие от функции scanf(“%s”, string), которая вводит символы до первого пробела, функция gets(string) вводит все символы, включая пробелы.
Функция вывода строки символов:
(string), где
string – либо сама строка, либо указатель (адрес) области памяти, откуда выводится строка, например, имя массива символов.
Эта функция аналогична функции printf(“%s”, string), но при этом puts автоматически выполняет перевод курсора экрана на новую строку.
Пример 4.
Ввод-вывод строк символов.
char name[30]; // Описание символьного массива name
puts (“Введите Вашу фамилию и имя:”); // Вывод строки
gets (name); // Ввод фамилии и имени в массив
printf (“\nЗдравствуйте, “); // Вывод строки
puts (name); // Вывод строки из массива
При вводе с клавиатуры строки Петров Иван, в массив символов name будут введены оба слова, а при использовании функции scanf(“%s”, name) будет введено только первое слово.