Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции (опорный конспект)

.pdf
Скачиваний:
19
Добавлен:
09.06.2015
Размер:
2.39 Mб
Скачать

10. Ввод-вывод

Обмен данными между программой и внешними устройствами осуществляется с помощью операций

ввода-вывода

Поток – это логический канал, предназначенный для обмена информаций с устройством вводавывода

Потоки:

Текстовые

Двоичные

Стандартные потоки:

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