Základní vstup/výstup v C++

Základní vstup/výstup v C++

C++ přichází s knihovnami, které nám poskytují mnoho způsobů provádění vstupu a výstupu. V C++ se vstup a výstup provádějí ve formě sekvence bajtů nebo běžněji známé jako proudy .

  • Vstupní stream: Pokud směr toku bajtů směřuje ze zařízení (například klávesnice) do hlavní paměti, pak se tento proces nazývá vstup.
  • Výstupní proud: Pokud je směr toku bajtů opačný, tj. z hlavní paměti do zařízení (obrazovky), pak se tento proces nazývá výstup.

Základní vstup/výstup v C++

Soubory záhlaví dostupné v C++ pro operace vstupu/výstupu jsou:

  1. iostream : iostream znamená standardní vstupně-výstupní proud. Tento hlavičkový soubor obsahuje definice objektů jako cin, cout, cerr atd.
  2. iomanip : iomanip znamená vstupně-výstupní manipulátory. Metody deklarované v těchto souborech se používají pro manipulaci s proudy. Tento soubor obsahuje definice setw, setprecision atd.
  3. fstream : Tento hlavičkový soubor popisuje hlavně proud souboru. Tento hlavičkový soubor se používá ke zpracování dat čtených ze souboru jako vstupu nebo dat zapisovaných do souboru jako výstupu.
  4. bits/stdc++: Tento hlavičkový soubor obsahuje všechny standardní knihovny. V programátorských soutěžích je použití tohoto souboru dobrý nápad, když chcete snížit čas plýtvaný děláním domácích prací; zvláště když je vaše hodnost časově citlivá. Chcete-li se dozvědět více o tomto souboru záhlaví, viz tento článek.

V C++ po hlavičkové soubory často používáme ‚ pomocí jmenného prostoru std; ‘. Důvodem je to, že všechny standardní definice knihoven jsou uvnitř jmenného prostoru std. Protože funkce knihovny nejsou definovány v globálním rozsahu, tak je pro jejich použití používáme jmenný prostor std . Abychom nemuseli psát STD:: na každý řádek (např. STD::cout atd.). Chcete-li vědět více, viz tento článek.

Dva případy cout v C++ a cin v C++ třídy iostream se velmi často používají pro tisk výstupů, respektive odebírání vstupů. Tyto dvě jsou nejzákladnější metody přijímání vstupu a tiskového výstupu v C++. Chcete-li použít cin a cout v C++, musíte zahrnout soubor záhlaví iostream v programu.

Tento článek pojednává především o objektech definovaných v záhlaví souboru iostream jako cin a cout.

  • Standardní výstupní proud (cout) : Obvykle je standardním výstupním zařízením obrazovka. Jazyk C++ cout příkaz je instancí třídy ostream. Používá se k produkci výstupu na standardním výstupním zařízení, kterým je obvykle obrazovka. Data potřebná k zobrazení na obrazovce se vkládají do standardního výstupního proudu (cout) pomocí operátoru vkládání ( < < ).

C++




#include> using> namespace> std;> int> main()> {> > char> sample[] => 'techcodeview.com'> ;> > cout < < sample < <> ' - A computer science portal for geeks'> ;> > return> 0;> }>

Výstup:

techcodeview.com - A computer science portal for geeks 

Časová náročnost: O(1)
Pomocný prostor: O(1)

Ve výše uvedeném programu operátor vložení ( < < ) vloží hodnotu proměnné řetězce vzorek následovaný řetězcem Portál informatiky pro geeky ve standardním výstupním proudu cout který se následně zobrazí na obrazovce.

  • standardní vstupní proud (cin) : Obvykle je vstupním zařízením v počítači klávesnice. C++ příkaz cin je instancí třídy proud a používá se ke čtení vstupu ze standardního vstupního zařízení, kterým je obvykle klávesnice.
    Operátor extrakce ( >> ) se používá spolu s objektem jíst pro čtení vstupů. Operátor extrakce extrahuje data z objektu jíst který se zadává pomocí klávesnice.

C++




#include> using> namespace> std;> int> main()> {> > int> age;> > cout < <> 'Enter your age:'> ;> > cin>> věk;> > cout < <> ' Your age is: '> < < age;> > return> 0;> }>

Vstup :

18 

Výstup:

Enter your age: Your age is: 18 

Časová náročnost: O(1)
Pomocný prostor: O(1)

Výše uvedený program žádá uživatele o zadání věku. Objekt cin je připojen ke vstupnímu zařízení. Věk zadaný uživatelem je extrahován z cin pomocí extrakčního operátoru ( >> ) a extrahovaná data se pak uloží do proměnné stáří přítomné na pravé straně extrakčního operátora.

  • Standardní chybový stream bez vyrovnávací paměti (cerr) : C++ cerr je standardní tok chyb, který se používá k výstupu chyb. Toto je také instance třídy iostream. Protože cerr v C++ není vyrovnávací paměť, používá se, když je třeba okamžitě zobrazit chybovou zprávu. Nemá žádnou vyrovnávací paměť pro uložení chybové zprávy a její pozdější zobrazení.
  • Hlavní rozdíl mezi cerr a cout nastává, když chcete přesměrovat výstup pomocí cout, který se přesměruje do souboru, pokud použijete cerr, chyba se neuloží do souboru. (To je to, co znamená un-buffered ..Nemůže uložit zpráva)

C++




#include> using> namespace> std;> int> main()> {> > cerr < <> 'An error occurred'> ;> > return> 0;> }>

Výstup:

An error occurred 

Časová náročnost: O(1)
Pomocný prostor: O(1)

  • standardní chybový proud s vyrovnávací pamětí (ucpání) : Toto je také instance třídy ostream a používá se k zobrazení chyb, ale na rozdíl od cerr je chyba nejprve vložena do vyrovnávací paměti a je uložena ve vyrovnávací paměti, dokud není zcela naplněna. nebo vyrovnávací paměť není explicitně vyprázdněna (pomocí flush()). Chybová zpráva se také zobrazí na obrazovce.

C++




#include> using> namespace> std;> int> main()> {> > clog < <> 'An error occurred'> ;> > return> 0;> }>

Výstup:

An error occurred 

Časová náročnost: O(1)
Pomocný prostor: O(1)

Související články :

  • cout < < endl vs cout < < v C++
  • Problém se scanf(), když je za ním fgets()/gets()/scanf().
  • Jak používat getline() v C++, když jsou na vstupu prázdné řádky?
  • Cin-Cout vs Scanf-Printf