iostream — бібліотека і відповідний заголовний файл, які використовується для організації введення-виведення в мові програмування . Він включений в стандартну бібліотеку C++. Назва утворена від англ. Input/Output Stream (потік введення-виведення). У мові C++ і її попереднику, мові програмування Сі, немає вбудованого вводу-виводу. Натомість використовується бібліотека iostream, яка керує вводом-виводом, як і stdio.h у Ci. iostream використовує об'єкти cin, cout, cerr і для передачі інформації між стандартними потоками введення, виведення, помилок (безбуферний) і помилок (буферний) відповідно. Будучи частиною стандартної бібліотеки C++, ці об'єкти також є частиною стандартного простору імен — std.
Приклад Hello, world
Наприклад, програма Hello world може бути представлена:
#include <iostream> using std::cout; using std::endl; int main() { cout<<"Hello World!"<<endl; return 0; }
Програма виведе «Hello, world!» і переведе рядок (std::endl).
Форматування виводу
Функції
width(int x) | мінімальне число знаків до наступного виводу |
fill(char x) | встановлює символ-заповнювач і повертає попередній символ-заповнювач. За умовчанням як символ-заповнювач використовується пропуск |
precision(int x) | встановлює число значущих знаків для чисел з плаваючою крапкою |
Приклад:
cout.width(10); cout << "ten" << "four" << "four";
Маніпулятори
endl | переведення рядка |
flush | вивантажує вміст буфера в потік |
dec | міняє формат виведення числа на десятковий |
oct | міняє формат виведення числа на вісімковий |
hex | міняє формат виведення числа на шістнадцядковий |
ws | витягує і видаляє символи порожніх проміжків з потоку |
showpos | показує '+' перед додатними числами |
showpoint | показує десяткову крапку |
noshowpoint | приховує десяткову крапку |
Критика
Деякі середовища не забезпечують розподілювального виконання C++ бібліотек. Приклади включають вбудовані системи і системи Windows, що керують програмами, побудованими з MinGW. Під цими системами стандартна бібліотека C++ повинна бути статично пов'язана з програмою, що збільшує розмір програми, або поширювати стандартну бібліотеку разом з програмою.
Деякі реалізації стандартної бібліотеки C++ мають істотні обсяги мертвого коду. Наприклад, GNU libstdc++ автоматично конструює локаль, будуючи ostream, навіть якщо програма ніколи не використовує ніяких типів (дата, час або гроші), на які впливає локаль, і статично зв'язана програма «hello, world», яка використовує GNU libstdc++ <iostream>, видає виконуваний файл значно більший, ніж еквівалентна програма, яка використовує <cstdio>. Але існують часткові імплементації стандартної бібліотеки C++, спроектовані для обмежених в розмірі середовищ; їхній <iostream> може вилучити опціональний код, якого не потребує програма, такий як підтримка локалі.
Виноски
- . Архів оригіналу за 4 липня 2020. Процитовано 17 травня 2009.
- GNU libstdc++ source code,
bits/ios_base.h
- . Архів оригіналу за 3 травня 2009. Процитовано 17 травня 2009.
- . Архів оригіналу за 5 грудня 2012. Процитовано 17 травня 2009.
Посилання
- <iostream> або <iostream.h>, Що правильніше? [ 14 лютого 2007 у Wayback Machine.]
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
iostream biblioteka i vidpovidnij zagolovnij fajl yaki vikoristovuyetsya dlya organizaciyi vvedennya vivedennya v movi programuvannya C Vin vklyuchenij v standartnu biblioteku C Nazva utvorena vid angl Input Output Stream potik vvedennya vivedennya U movi C i yiyi poperedniku movi programuvannya Si nemaye vbudovanogo vvodu vivodu Natomist vikoristovuyetsya biblioteka iostream yaka keruye vvodom vivodom yak i stdio h u Ci iostream vikoristovuye ob yekti cin cout cerr i dlya peredachi informaciyi mizh standartnimi potokami vvedennya vivedennya pomilok bezbufernij i pomilok bufernij vidpovidno Buduchi chastinoyu standartnoyi biblioteki C ci ob yekti takozh ye chastinoyu standartnogo prostoru imen std Priklad Hello worldNapriklad programa Hello world mozhe buti predstavlena include lt iostream gt using std cout using std endl int main cout lt lt Hello World lt lt endl return 0 Programa vivede Hello world i perevede ryadok std endl Formatuvannya vivoduFunkciyi width int x minimalne chislo znakiv do nastupnogo vivodufill char x vstanovlyuye simvol zapovnyuvach i povertaye poperednij simvol zapovnyuvach Za umovchannyam yak simvol zapovnyuvach vikoristovuyetsya propuskprecision int x vstanovlyuye chislo znachushih znakiv dlya chisel z plavayuchoyu krapkoyu Priklad cout width 10 cout lt lt ten lt lt four lt lt four Manipulyatori endl perevedennya ryadkaflush vivantazhuye vmist bufera v potikdec minyaye format vivedennya chisla na desyatkovijoct minyaye format vivedennya chisla na visimkovijhex minyaye format vivedennya chisla na shistnadcyadkovijws vityaguye i vidalyaye simvoli porozhnih promizhkiv z potokushowpos pokazuye pered dodatnimi chislamishowpoint pokazuye desyatkovu krapkunoshowpoint prihovuye desyatkovu krapkuKritikaDeyaki seredovisha ne zabezpechuyut rozpodilyuvalnogo vikonannya C bibliotek Prikladi vklyuchayut vbudovani sistemi i sistemi Windows sho keruyut programami pobudovanimi z MinGW Pid cimi sistemami standartna biblioteka C povinna buti statichno pov yazana z programoyu sho zbilshuye rozmir programi abo poshiryuvati standartnu biblioteku razom z programoyu Deyaki realizaciyi standartnoyi biblioteki C mayut istotni obsyagi mertvogo kodu Napriklad GNU libstdc avtomatichno konstruyuye lokal buduyuchi ostream navit yaksho programa nikoli ne vikoristovuye niyakih tipiv data chas abo groshi na yaki vplivaye lokal i statichno zv yazana programa hello world yaka vikoristovuye GNU libstdc lt iostream gt vidaye vikonuvanij fajl znachno bilshij nizh ekvivalentna programa yaka vikoristovuye lt cstdio gt Ale isnuyut chastkovi implementaciyi standartnoyi biblioteki C sproektovani dlya obmezhenih v rozmiri seredovish yihnij lt iostream gt mozhe viluchiti opcionalnij kod yakogo ne potrebuye programa takij yak pidtrimka lokali Vinoski Arhiv originalu za 4 lipnya 2020 Procitovano 17 travnya 2009 GNU libstdc source code bits ios base h Arhiv originalu za 3 travnya 2009 Procitovano 17 travnya 2009 Arhiv originalu za 5 grudnya 2012 Procitovano 17 travnya 2009 Posilannya lt iostream gt abo lt iostream h gt Sho pravilnishe 14 lyutogo 2007 u Wayback Machine