Diskuze: Vysvětlení String & Cin v C++

C++ C a C++ Vysvětlení String & Cin v C++

Avatar
Neaktivní uživatel:

Ahoj,
Prvně se omlouvám za dotaz,který do profi-programátorského fóra asi nepatří,ale potřebuju poradit od odborníků....Začal jsem se učit odusd C++,teď jsem u 5-6. Dílu. Pokud budu mít třeba tento kód:

        cout << "Ahoj,ja jsem papousek" << endl;
        cout << "Napis Neco..." << endl;
        string vstup;
        cin >> vstup;
        string vystup;
        vystup = vstup + "," + vstup + "!";
        cout << vystup << endl;
        _getch ();
        return 0;
}

Tak chápu jak funguje,ale nikde jsem nenašel,k čemu tam je "cin.XXX" a "String XXX",mohu požádat někoho o vysvětlení...?
Budu za to moc vděčný,Děkuji :)
PS:IDE je MVS 10 Expres

Odpovědět 18.7.2014 19:44
Neaktivní uživatelský účet
Avatar
Jan Demel
Redaktor
Avatar
Odpovídá na Neaktivní uživatel
Jan Demel:

Cin je něco jako Console.ReadLine() v C#. Což znamená, že program počká na zadání vstupu od uživatele. Ten vstup se potom jednoduše uloží do proměnné vstup, která má datový typ string (textový řetězec).

Nahoru Odpovědět 18.7.2014 20:06
To co se zdá být nemožné, je vždy možné.
Avatar
Odpovídá na Jan Demel
Neaktivní uživatel:

Takže pokud napíšu například:

string a;
cin >> a

Tak to znamená,že to co uživatel napíše,se do paměti uloží pod proměnou a ?

Nahoru Odpovědět 18.7.2014 20:20
Neaktivní uživatelský účet
Avatar
Jan Demel
Redaktor
Avatar
Odpovídá na Neaktivní uživatel
Jan Demel:

Na posledním řádku ti chybí středník ;) Ale ano. To co uživatel napíše se uloží do proměnné a.

Nahoru Odpovědět 18.7.2014 21:06
To co se zdá být nemožné, je vždy možné.
Avatar
Nahoru Odpovědět 18.7.2014 21:20
Neaktivní uživatelský účet
Avatar
Bertram
Člen
Avatar
Odpovídá na Neaktivní uživatel
Bertram:

Jen te ještě upozorním, že pokud čteš z cin operátorem >>, tak ti ve vstupním bufferu zůstane konec řádku, a proto by jsi měl po tomto způsobu čtení zavolat cin.ignore(), aby jsi ten konec řádku z bufferu odstranil.
Kdyby jsi totiž chtěl dále v kódu číst třeba cin >> b, tak by se bez vyčištení bufferu do b uložil ten konec řádku a program by pokračoval bez čekání na zadání vstupu z cin.

 
Nahoru Odpovědět  +1 22.7.2014 20:32
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.