Sleduj návody s komentářem. Upload obrázků Upload souborů War3Zone.eu Webmail Podpoř náš web a vyber si výhodu




Sponzor VPS:






      

Serialbook - upozornění na nové epizody oblíbených seriálů

Tvorba webu Jazyk C++ Návody

Moderátor: Web poradce

Základy C++ (Basic Input / Output) Kapitola 5

Příspěvekod  Nitram » pát 21. kvě 2010 22:44:17

Až do teď, například programy z předchozích částí za předpokladu, velmi málo interakce s uživatelem, případně vůbec. Pomocí standardní vstup a výstup knihovnu, budeme moci komunikovat s uživateli tiskem zprávy na obrazovce a získat vstup uživatele z klávesnice.

C + + používá vhodné tzv. abstraktní proudy provádět vstupní a výstupní operace v sekvenčním média jako na obrazovce nebo klávesnice. Stream je objekt, kde program mohou buď vložit nebo výpisu znaků / z toho. Nemáme opravdu potřebují, aby péče o mnoha specifikace o fyzických médií spojené s proudem - jsme jen vědět, že bude přijímat nebo poskytovat znaky postupně.

Standardní C + + knihovna obsahuje hlavičkový soubor iostream, kde vstupní a výstupní proud jsou deklarovány objekty standard.

Standardní výstup (soud)

Ve výchozím nastavení na standardní výstup z programu je na obrazovce, a C + + stream objekt definován tak, aby přístup, je soud.

Soudní dvůr je používán ve spojení s vložením operátora, který je psán jako <<(dva "menší než" znaky).

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


<<Operátor vloží data, která následuje jej do proudu předcházet tomu. Ve výše uvedených příkladech je vložen konstantní řetězec Output větu, numerické konstanty 120 a variabilní x do standardního proudu soud výstup. Všimněte si, že věta v první instrukce je uzavřen ve dvojitých uvozovkách ("), protože to je konstantní řetězec znaků. Kdykoli chceme použít konstantní řetězce znaků musíme uvést je do dvojitých uvozovek (") tak, aby mohly být jasně odlišit od názvů proměnných. Například tyto dvě věty mají velmi odlišné výsledky:

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


Vložení Provozovatel (<<), lze použít více než jednou v jediné prohlášení:

c
Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


To poslední prohlášení by tisk vzkaz Ahoj, já jsem C + + prohlášení na obrazovce. Utility opakování vložení operátora (<<) je prokázána, když chceme vytisknout kombinace proměnných a konstant, nebo více než jedné proměnné:

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


Budeme-li předpokládat, věk proměnná obsahuje hodnotu 24 a PSČ proměnná obsahuje 90064 výstupu z předchozího prohlášení by bylo:

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


Je důležité si uvědomit, že soud není-li přidat řádek přestávku po jeho výstupu, pokud nebudeme explicitně uvádí, že proto, že následující údaje:

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


se zobrazí na obrazovce jeden za druhým bez řádkového zlomu mezi nimi:


To je sentence.This je další věta.


i když jsme měli psaný ve dvou různých vkládání do soudu. Aby bylo možné provést zalomení řádku na výstupu musíme explicitně vložit nový-line znak k soudu. V C + + nové-line znak může být specifikováno jako \ n (zpětné lomítko, n):

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


To produkuje následující výstup:


První věta.
Druhá věta.
Třetí věta.


Kromě toho pro přidání nového-line, můžete využít i Endl manipulátor. Například:

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


by se vypsat:


První věta.
Druhá věta.


Endl manipulátor vytváří nový řádek, přesně jako vkládání '\ n' dělá, ale má také další chování, pokud je používán s vyrovnávací paměti proudy: buffer je zarudlá. Mimochodem, bude soud unbuffered proud ve většině případů, takže můžete obecně použít i \ n znak escape a Endl manipulátor s cílem určit nový řádek, bez rozdílu v jeho chování.

Standardního vstupu (cin).

Standardní vstupní zařízení je obvykle klávesnice. Manipulace standardní vstup v C + + se provádí za použití přetížený operátor extrakce (>>) na CIN proudu. Provozovatel musí následovat proměnnou, která bude uchovávat data, která se bude extrahovat z potoka. Například:

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


První prohlášení deklaruje proměnnou typu int s názvem stáří, a druhá čeká na vstup od cin (klávesnice) s cílem uložit jí v tomto celočíselné proměnné.

cin může zpracovat pouze vstupy z klávesnice, jakmile tlačítko RETURN bylo stisknuto. Proto, i když budete žádat o jeden znak, extrakce z cin se nezpracovává vstupu, dokud uživatel stiskne návrat po skončení znak byl zaveden.

Musíte vždy zvážit typ proměnné, kterou používáte jako kontejner s cin extrakcí. Pokud máte dotaz číslo dostanete číslo, pokud jste žádost znak dostanete charakter, a pokud budete žádat o řetězec znaků, dostanete řetězec znaků.

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


Uživatel programu může být jedním z faktorů, které vytvářejí chyby iv nejjednodušší programy, které využívají cin (stejně jako ten, který jsme právě viděli). Vzhledem k tomu, pokud si požádat o celé číslo a uživatelské zavádí název (který obecně je řetězec znaků), výsledek může způsobit, že program na misoperate, protože není to, co jsme očekávali od uživatele. Takže když použijete vstup dat poskytnutých cin extrakce budete muset věřit, že uživatel vašeho programu bude spolupráce a že on / ona nebude představit jeho / její jméno nebo něco podobného, když celé číslo se žádá. Trochu napřed, když vidíme, stringstream třída uvidíme možné řešení pro chyby, které mohou být způsobeny tímto typem vstupu uživatele.

Můžete také použít cin požádat o více než jedno datum vstupu od uživatele:

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


odpovídá:

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


V obou případech uživatel musí dát dva datové, jeden pro proměnné a druhý pro proměnnou b, která mohou být oddělena jakoukoli platnou prázdné separator: prostor, tabulátor nebo nový řádek.

CIN a smyčce

Můžeme použít cin získat řetězce s těžbou operátora (>>), jako to děláme se základními typ proměnné údaje:

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


Nicméně, jak již bylo řečeno, cin extrakce zastaví čtení, jakmile zjistí-li jakékoliv prázdné místo znak, takže v tomto případě budeme schopni získat jen jedno slovo pro každé extrakci. Toto chování může nebo nemusí být tím, co chceme, například pokud chceme dostat trest od uživatele, by tato těžba operace nesmí být užitečná.

Ve snaze získat kompletní linky, můžeme použít funkci getline, což je více doporučit způsob, jak získat vstup uživatele s cin:

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


Všimněte si, jak v obou volání getline jsme použili stejný řetězec identifikátor (mystr). Jaký program se ve druhé výzvě je prostě nahradit předchozí obsah novou, která je zavedena.

stringstream

Standardní záhlaví souboru <sstream> definuje třídy s názvem stringstream, který umožňuje string-založené objekt musí být zacházeno jako stream. Tímto způsobem můžeme provést extrakci nebo vložení provoz z / do řetězců, což je obzvláště užitečné pro převod řetězce na číselné hodnoty a naopak. Například, chceme-li získat celé číslo z řetězce můžeme psát:

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


To deklaruje řetězec objekt s hodnotou "1204", a int objektu. Pak jsme se použít stringstream 's konstruktérem vybudovat objekt tohoto typu z řetězce objektu. Vzhledem k tomu můžeme použít stringstream objekty, jako kdyby byly proudy, můžeme extrahovat celé číslo od toho, jak bychom si udělali na cin za použití extraktoru operátora (>>), na to následuje proměnnou typu int.

Po této kus kódu, variabilní Myint bude obsahovat číselnou hodnotu 1204.

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


V tomto příkladu, získáme číselné hodnoty ze standardního vstupu nepřímo. Místo těžby číselných hodnot přímo ze standardního vstupu, dostáváme řádky ze standardního vstupu (cin) do řetězce objekt (mystr), a pak jsme extrakt integer hodnoty z tohoto řetězce do proměnné typu int (množství).

Pomocí této metody, namísto přímé extrakce celočíselné hodnoty, budeme mít větší kontrolu nad tím, co se stane s jejich vkládání číselných hodnot od uživatele, protože jsme se od sebe oddělují procesu získávání informací od uživatele (nyní jednoduše požádat o linky) s výklad tohoto vstupu. Proto se tato metoda obvykle dává přednost dostat číselnými hodnotami od uživatele ve všech programech, které jsou náročné na vstupu uživatele.

______________________________--
Konec.... Omlouvám se za chyby psal sem to trochu narychlo :-D preji mnoho uspechu dalsi cast vyuky C++ sem dodam pozdeji...

Skype: nitram09
Pracuji jako vývojář v oblasti tvorba webu a mobilních aplikací. Rád vám poradím, ale zadarmo netvořím.
  Nitram
Podpora
Podpora
 
Příspěvky: 352
Registrován: pon 15. úno 2010 14:58:26
Bydliště: Kousek od Znojma
Podpora: 109 Kč

Základy C Basic Input / Output Kapitola 5

PříspěvekodLindsyvom » čtv 23. led 2020 5:55:48

První příklad je ve všech knížkách na všech školách stejný "Hello world"
btw. Nevíte, jaký je rozdíl mezi jazykem C a C? Učím se totiž C a tady se to zdá být dost podobné. Je jasný že se tam nějaký syntaxe budou išit, ale v čem je rozdíl? To je jen "upgrade"?

Nemáte oprávnění prohlížet přiložené soubory.
Lindsyvom
Občasný uživatel
Občasný uživatel
Uživatelský avatar

 
Příspěvky: 5
Registrován: sob 05. říj 2019 17:05:58
Podpora: Tento uživatel zatím nepodpořil naše fórum.


Zpět na Jazyk C++ Návody

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků


Tento web používá k poskytování služeb a analýze návštěvnosti soubory cookie. Používáním tohoto webu s tím souhlasíte. Další informace