Слайды и текст доклада
Pic.1
Классы ввода-вывода на С++ Классы ввода-вывода являются важнейшими классами стандартной библиотеки С++, - программа, которая не вводит и не выводит данные, вряд ли принесет много пользы. Классы …
Pic.2
Классы ввода-вывода на С++ - новое Основные принципы потоковых классов ввода-вывода остались неизменными, но были добавлены некоторые важные новшества, расширяющие возможности настройки и адаптации. …
Pic.3
Потоки В С++ операции ввода-вывода выполняются при помощи потоков данных. Согласно принципам объектно-ориентированного программирования, поток данных предcтaвляeт собой объект, свойства которого …
Pic.4
Потоки - преимущества Одним из аргументов в пользу потоков является простота использования: нет необходимости задумываться о форматировании – каждый объект сам знает, как он должен выглядеть. Это …
Pic.5
Глобальные потоковые объекты В библиотеке IOStream определено несколько глобальных объектов типов istream и ostream. Эти объекты соответствуют стандартным каналам ввода-вывода. Объект cin (класс …
Pic.6
Потоковые операторы Операторы сдвига >> и << были перегружены для потоковых классов и означают соответственно ввод и вывод. При помощи этих операторов можно выполнять каскадные операции …
Pic.7
Манипуляторы В конце большинства команд потокового ввода-вывода записывается так называемый манипулятор: std::cout << std::endl Манипуляторы - специальные объекты, предназначенные для …
Pic.8
Манипуляторы - 2 В классах потокового ввода-вывода istream и ostream определен (кроме рассмотренного endl) следующий набор манипуляторов:
Pic.9
Простой пример Программа читает два вещественных числа и выводит их произведение.
Pic.10
Иерархия основных потоковых классов Для шаблонных классов в верхней строке указано имя шаблона, а в нижней - имена специализаций для типов char и wchar_t
Pic.11
Назначение основных потоковых классов
Pic.12
Назначение основных потоковых классов - 2
Pic.13
Назначение потоковых буферных классов Библиотека IOStream предполагает строгое разделение обязанностей. Классы, производные от basic_ios, ограничиваются форматированием данных. Операции чтения и …
Pic.14
Заголовочные файлы Определения потоковых классов распределены по нескольким заголовочным файлам. <iosfwd>. Содержит опережающие объявления потоковых классов. Этот заголовочный файл необходим …
Pic.15
Заголовочные файлы -2 Заголовок <iostream> следует включать только при использовании стандартных потоковых объектов. В некоторых реализациях в начале работы каждой единицы трансляции, …
Pic.16
Состояние потока данных - константы Общее состояние потока данных определяется несколькими флагами, представленными константами типа iostate. Тип iostate определяется в классе ios_base. Конкретный …
Pic.17
Состояние потока данных – константы 2 Основное отличие флагов failbit и badbit состоит в том, что последний обозначает более серьезную ошибку. failbit устанавливается в том случае, если операция …
Pic.18
Функции для работы с состоянием потока данных Основное отличие флагов failbit и badbit состоит в том, что последний обозначает более серьезную ошибку.
Pic.19
Пример работы с функциями Как установить и сбросить флаг failbit:
Pic.20
Класс istream Класс istream предназначен для извлечения данных из потока ввода. К этому классу относится объект cin.
Pic.21
Класс istream - функции ввода символа int istream::get () 1) Читает следующий символ. 2) Возвращает прочитанный символ или EОF. 3) В общем случае возвращаемое значение относится к типу …
Pic.22
Класс istream - функции get istream& istream::get (char* str, streamsize count) istream& istream::get (char* str, streamsize count, char delim) Обе формы читают до count-1 символов в строку …
Pic.23
Класс istream - функции getline и read istream& istream::getline (char* str, streamsize count) istream& istream::getline (char* str, streamsize count, char delim) Обе формы идентичны …
Pic.24
Класс istream - функции readsome и gcount streamsize istream::readsome (char* str, streamsize count) Читает до count символов в строку str. Возвращает количество прочитанных символов. Строка str не …
Pic.25
Класс istream - функции ignore istream& istream::ignore () istream& istream::ignore (streamsize count) istream& istream::ignore (streamsize count, int delim) Все формы извлекают символы …
Pic.26
Класс istream - функции unget, putback и peek istream& istream::unget () istream& istream::putback (char с) Обе функции возвращают в поток данных последний считанный символ, чтобы он был …
Pic.27
Класс istream - функции - резюме При чтении С-строк описанные здесь функции безопаснее оператора >>, поскольку они требуют явной передачи максимального размера читаемой строки. Хотя количество …
Pic.28
Класс ostream – функции ostream& ostream::put (char с) Записывает аргумент c в поток данных. Возвращает объект потока данных, по состоянию которого можно проверить, успешно ли выполнена запись. …
Pic.29
Пример Классический фильтр - вывод в выходной поток все прочитанные символы : #include <iostream> using namespace std; int main() { char с; while (cin. get(c)) { // Пока удается прочитать …
Pic.30
Тесты … Вопрос: Что будет выведено на экран?
Pic.31
Тесты … Вопрос: Что будет выведено на экран?
Pic.32
Тесты … Что будет выведено на консоль в результате выполнения программы?
Pic.33
Тесты … Что будет выведено на консоль в результате выполнения программы?
Pic.34
Тесты … Вопрос: В каких строках (укажите номера) допущены ошибки:
Pic.35
Тесты … Вопрос: В каких строках (укажите номера) допущены ошибки:
Скачать презентацию
Если вам понравился сайт и размещенные на нем материалы, пожалуйста, не забывайте поделиться этой страничкой в социальных сетях и с друзьями! Спасибо!