Spojování textu
Operátor + umí také spojovat texty typu std::string. Výsledkem je nový text, který můžete uložit do proměnné nebo vypsat:
std::string jmeno = "Jana";
std::string prijmeni = "Nováková";
std::string celeJmeno = jmeno + " " + prijmeni;
std::cout << celeJmeno << "\n";Vypíše:
Jana NovákováStejně jako << ani + nepřidává mezery. Proto je mezi jménem a příjmením " ", text, který obsahuje jen mezeru. Bez něj by vzniklo JanaNováková.
Pomocí += připojíte text na konec proměnné:
std::string zprava = "Ahoj";
zprava += ", Jano";
zprava += "!";
std::cout << zprava << "\n";Vypíše:
Ahoj, Jano!Typické chyby:
- Dva texty v uvozovkách pomocí
+nespojíte.std::string pozdrav = "Ahoj, " + "Jano";skončí chybouinvalid operands to binary expression ('const char[7]' and 'const char[5]'). Text v uvozovkách sám o sobě nenístd::stringa+s ním neumí pracovat. Aspoň jedna strana+proto musí být typustd::string, třeba proměnná:jmeno + "!"funguje. +nepřevádí čísla na text. Když jebodytypuint,"Body: " + bodyse sice přeloží, ale vypíše nesmysl, třeba kus jiného textu z paměti. Ajmeno + bodyskončí chybouinvalid operands to binary expression. Čísla s textem proto vypisujte pomocí<<:std::cout << "Body: " << body;
Jak psát:
"Shift + ů
/Shift + ú
\Alt Gr + q
{Alt Gr + b
}Alt Gr + n
<Alt Gr + ,
>Alt Gr + .
[Alt Gr + f
]Alt Gr + g
#Alt Gr + x
&Alt Gr + c
|Alt Gr + w
*Alt Gr + -
Pokyny
Vytvořte proměnnou celeJmeno typu std::string: pomocí + spojte jmeno, mezeru a prijmeni.
Vypište celeJmeno. Program by měl vypsat Ivo Novák.
Pod to vytvořte proměnnou pozdrav s hodnotou "Ahoj, " a pomocí += k ní připojte jmeno.
Připojte k proměnné pozdrav ještě vykřičník a vypište ji na další řádek. Program by měl vypsat:
Ivo Novák
Ahoj, Ivo!Začněte programovat zdarma
8/9