Подготовительный курс по C++ разработке (OTUS PreC++) Урок 17

Автор Alla Bessonova
Подготовительный курс по C++ разработке (OTUS PreC++) Урок 17

Всем привет.

Сегодня мы разберемся с потоками ввода-вывода всех Plus все плюсы используют удобно абстракцию которая называется потоки для выполнения операций ввода на. Приморской вывода на консоль файл и задали нам не нужно знать внутреннее представление реализацию чего бы то ни было связано с потоком всё, что нам нужно знать — это то, что потоки — это из-за приемник данных эти данные отправляются или принимаются последовательно то есть боится байтом символ за символом. Что такое поток ввода если направление байтов от устройства например клавиатура к основной памяти этот процесс называется вводом поток вывода свою очередь определяется направление потока байтов противоположно.

Из основной памяти на устройство консоль файл неважно стандартная библиотека несколько объектов потоков seen стандартный поток ввода Seal стандартный поток вывода Seer стандартный поток вывода ошибок эссе стандартный поток вывода сообщений.

Лондон тех же самых ошибок напольных давайте рассмотрим сериал. Есенин Это стандартные потоки вывода и ввода стандартный в большинстве программных сред стандартного вывода по умолчанию является экранным объектом потока си плюс плюс определённом для доступа к нему является сериал сериал является икс-класса острым для форматирования операции вывода символов используется вместе с оператором ставки которая записывается как два знака меньше. Давайте на примере для того чтобы иметь возможность использовать потоки воды программе я должен включить заголовочный файл iOS 13 потоки ввода-вывода и. Стрим Давайте экран например строку я ввёл на экран я могу также вывести на экран какое-нибудь число я могу вывести на экран какое-нибудь число с плавающей точкой. Я могу вывести на экран какой-нибудь переменную оператор. Меньше меньше оператор вставки вставляет данные указанные. После него в поток указан в приведенных выше примерах он вставлял буквально строку hello-world число 42 значение переменной X стандартные выходной поток сериал. Обратите внимание, что предложение рождения заключенного двойные кавычки во сколько она является страховым лидером в последнем там где я вожу x-net несколько операции вставки могут быть объединены в одну инструкцию объединив ставок особенно полезно для объединения литералов переменных в одном выражении например. Кроме этого я могу заменить. Перенос строки на манипуляторы б/у манипулятор Angel добавляет символ новой строки как и баклажан, но также имеет и дополнительные сам поток вывода не добавляет. Перенос строки в конец поэтому этим должен заниматься программист я могу добавлять как. Перенос строки и так и не манипулятор st-10 обратите, что мне приходится явно добавлять. Перенос строки в конце. Потому, что сам потока этого не делает автоматически качестве альтернативы и можно использовать манипулятор Angel который также может быть использован для островка манипулятор омтл добавляет символ новой строки точно также как в ставках баклажан. Но он также имеет дополнительное поведение буфер потока если есть ощущается. Что означает, что содержимое буфера потока реально отправляется на устройство. Если вы ещё не произошло — это влияет в основном на полностью быть в потоке, а сериал. Как правильно как правило не является полностью буферизованный потоком тем не менее как правило хорошие идеи является использование. МДФ только, тогда когда сброс буфера потока и баклажан если — это не так помните, что операция очистки буфера связано с определенными накладными расходами и на некоторых устройствах — это может привести к желательно не злоупотреблять nvkz для переноса срок можно использовать просто баклажан помимо вывода стандартных типов целых строк и так далее мы можем отправлять на вывод из своей пользовательские типы для этого мы должны просто полежать соответствующую оператора. Меньше меньше или оператора вывода. Я могу написать какую-то свою структуру я будет поля, а просто. Поля А я хочу вывести его на экран таким образом чтобы я мог объявить какой-то экземпляр моего типа и вывести его на экран для этого я должен поддержать перегрузка оператора вывода в поток как — это сделать. Я должен написать прямо перегрузку на вход и перегрузки я должен подавать объектов. Соответственно екземпляр по константной ссылке свой объект. После этого я смогу вынести свой объект вот типа таким образом. Каким бы мне захотелось сделать теперь когда я объявил определил перегрузка оператора вывода в поток я могу использовать — это с объектом сериал который является экземпляром типа std wstring объекты. Меня не интересует он сейчас я должен увидеть на экране пятёрку так и есть вещества и программных средств стандартным вводом по умолчанию является клавиатура объектом потоков в определённом для доступа к нему является сильным для операции ввода 7 используется вместе с оператором извлечения которое записывается как два знака больше за этим оператором следует в которой хранятся например несколько переменной X. Я хочу ввести с клавиатуры в неё какое-то значение вероятности сразу у него выведен первая строка. Объявлять переменную типа infinimix автора извлекает i7 значение которой будут храниться в ней — это операция заставляет программу ждать вода сенто сеато означает будет ожидать вода пользователей некоторой последовательности с клавиатуры в этом случае. Обратите внимание, что символы введённые с помощью клавиатуры передается программы при помощи нажатия на клавишу Enter я взял с клавиатурой четвёрку — это четвёрка вы вы же мне.

0 комментариев
0

Читайте также