Лекции (опорный конспект)
.pdf10. Ввод-вывод
•Обмен данными между программой и внешними устройствами осуществляется с помощью операций
ввода-вывода
•Поток – это логический канал, предназначенный для обмена информаций с устройством вводавывода
•Потоки:
–Текстовые
–Двоичные
•Стандартные потоки:
–stdin
–stdout
–stderr
•Основные операции с потоком:
–открытие
–позиционирование
–ввод
–вывод
–закрытие
111
10.1. Библиотека iostream
• |
cin – объект, предназначенный для работы |
• |
операция >> – |
|
со стандартным потоком ввода |
|
ввод данных |
• |
cout – объект, предназначенный для |
• |
операция << – |
|
работы со стандартным потоком вывода |
|
вывод данных |
•cerr – объект, предназначенный для работы со стандартным потоком вывода ошибок
112
10.2.Библиотека stdio.h
10.2.1.Неформатированный ввод-вывод строк
•Функция puts выводит строку в стандартный потое вывода, добавляя к ней символ перевода строки '\n'
•Функция gets считывает из стандартного потока ввода строку символов
1)
2)
113
10.2.2Форматированный ввод (1)
•Функция scanf используется для форматированного ввода данных из стандартного потока ввода:
–сканирует последовательность входных символов
–форматирует данные в соответствии с заданным спецификатором формата format. записывает результаты по указанным адресам
•Функция sscanf используется для форматированного ввода данных из заданной строки
Спецификатор формата: % [*] [width] type_char
d – десятичное целое число u – беззнаковое целое число 1) f – число с плавающей точкой
c – символ s – строка
2)
114
10.2.2. Форматированный ввод (2)
3)
4)
5)
6)
7)
115
10.2.3.Форматированный вывод (1)
•Функция printf помещает заданную строку в стандартный поток вывода, предварительно отформатировав ее в соответствии с указанным правилом
Спецификатор формата:
– |
Выравнивает результат влево, дополняя его справа |
|
|
пробелами. Без указания данного флага результат |
|
|
выравнивается по правому краю и дополняется |
|
|
слева нулями или пробелами |
|
|
|
|
+ |
Если значение аргумента имеет знак, то этот знак |
|
|
всегда выводится (для положительных чисел |
|
|
выводится знак +) |
|
|
|
1) |
(пробел |
Если значение неотрицательно, вывод начинается |
|
) |
с пробела. Отрицательные числа выводятся со |
|
|
знаком минус. |
|
|
|
|
0 |
дополнять поле до заданной ширины символом 0 |
|
|
|
|
d – десятичное целое число u – беззнаковое целое число f – число с плавающей точкой c – символ
s – строка
116
10.2.3. Форматированный вывод (2)
2)
3)
4)
117
10.2.3. Форматированный вывод (3)
5)
6)
118
10.2.3. Форматированный вывод (4)
7)
8)
119
10.3.Библиотека conio.h (1)
•Библиотека conio.h содержит функции консольного вводавывода
int cprintf(const char *str, ...); |
Аналог функции printf |
|
|
int cscanf(const char *str, ...); |
Аналог функции scanf |
|
|
char* cgets(char *str); |
Читает строку символов прямо с консоли и запоминает строку |
|
и ее длину в местоположении, указанном str. |
|
|
int cputs(const char *str); |
Выводит строку символов на экран без перевода на новую |
|
строку. Возвращает последний выведенный символ. |
|
|
int getch(); |
Ожидает ввода символа, после чего возвращает его код (без |
|
вывода символа на экран) |
|
|
int getche(); |
Ожидает ввода символа, после чего возвращает его код (с |
|
выводом символа на экран) |
|
|
int kbhit(); |
Проверяет нажатие клавиши на клавиатуре. Возвращает не |
|
ноль в случае нажатия клавиши клавиатуры и ноль в |
|
противном случае. |
|
|
120