![](/user_photo/2706_HbeT2.jpg)
lec10
.pdf![](/html/2706/188/html_pvc6gf5fxv.NdOb/htmlconvd-c4dn4S21x1.jpg)
Стандартные файлы и функции работы с ними.
Для ввода - вывода данных с помощью стандартных потоков (stdin, stdout, stderr) в библиотеке языка Си определены следующие функции:
Igetchar()/putchar() - ввод-вывод отдельного символа.
Igets()/puts() - ввод-вывод строки.
![](/html/2706/188/html_pvc6gf5fxv.NdOb/htmlconvd-c4dn4S22x1.jpg)
Стандартные файлы и функции работы с ними.
Для ввода - вывода данных с помощью стандартных потоков (stdin, stdout, stderr) в библиотеке языка Си определены следующие функции:
Igetchar()/putchar() - ввод-вывод отдельного символа.
Igets()/puts() - ввод-вывод строки.
Iscanf()/printf() - ввод-вывод в режиме форматирования данных.
![](/html/2706/188/html_pvc6gf5fxv.NdOb/htmlconvd-c4dn4S23x1.jpg)
Режим форматного ввода-вывода. Форматный вывод.
Прототип функции printf() имеет вид:
Форматная строка - может включать произвольный текст, управляющие символы и спецификации преобразования данных. Указатель на форматную строку предполагает что 1 - й параметр это указатель типа *char, а сама форматная строка определена в программе как константа или переменная. Список аргументов - выражения, переменные которые должны быть выведены из программы.
![](/html/2706/188/html_pvc6gf5fxv.NdOb/htmlconvd-c4dn4S24x1.jpg)
Спецификация преобразования.
![](/html/2706/188/html_pvc6gf5fxv.NdOb/htmlconvd-c4dn4S25x1.jpg)
Флаги.
![](/html/2706/188/html_pvc6gf5fxv.NdOb/htmlconvd-c4dn4S26x1.jpg)
Флаги (продолжение).
![](/html/2706/188/html_pvc6gf5fxv.NdOb/htmlconvd-c4dn4S27x1.jpg)
Ширина поля. Точность.
Ширина поля определяет минимальное количество позиций, выделяемых для представления целого значения.
Примеры указания ширины поля и точности: %7d %7.3f
![](/html/2706/188/html_pvc6gf5fxv.NdOb/htmlconvd-c4dn4S28x1.jpg)
Модификатор.
![](/html/2706/188/html_pvc6gf5fxv.NdOb/htmlconvd-c4dn4S29x1.jpg)
Форматный ввод из входного потока.
Прототип функции scanf() имеет вид:
Функция scanf() читает последовательность кодов символов из выходного потока и интерпретирует в соответствии с форматной строкой.
![](/html/2706/188/html_pvc6gf5fxv.NdOb/htmlconvd-c4dn4S30x1.jpg)
Спецификация преобразования.
Ширина поля, модификатор и спецификатор определены идентично функции printf().
* - запрещает запись значения, прочитанного из входного потока по адресу задаваемому аргументом. Последовательность кодов из входного потока прочитывается, но не преобразуется и не записывается в соответствующую переменную.