Řetězcové literály
Jsou typicky používané ve funkcích očekávající parametry jako text. Vždy začíná a končí uvozovkou "
a nemůže uvnitř obsahovat zalomení řádku.
"Ahoj svete" "Ahoj, jak se mas?" // Toto je neplatný řetězec! "Prvni radek, druhy radek"
Řetezce jako konstanty
Často si chceme daný řetězec nadefinovat jako konstantu, můžeme tak udělat pomocí datového typu char*
.
int main() { const char* pozdrav = "Hello world!"; printf("%s\n", pozdrav); return 0; }
Escape sekvence
Pokud chceme v řetězci obsáhnout znaky, které mají speciální význam, jako třeba znak uvozovky („), která ohraničuje řetězec. Musíme použít tzv. escape sekvenci. Dalším příkladem může být apostrof (') zapsaný jako znakový literál. Escape sekvence začíná znakem zpětné lomeno (\), za kterým následuje požadovaný znak, nebo řídící sekvence.
Příklady escape sekvencí
Escape sekvence | význam |
---|---|
\n | nová řádka |
\t | tabulátor |
\" | uvozovka uvnitř řetězce |
\' | apostrof jako znakový literál |
\\ | zpětné lomeno |
"Jeden radek\nDruhyRadek\n" "Cesta k systemu windows je: C:\\Windows\\System32" "Citat: \"Dvakrat mer a jednou rez\"."
Podpora češtiny
Řetezce používají pouze rozšířenou ASCII kódovací tabulku, proto je pro podporu českých znaků potřeba nastavit programu správné národnostní nastavení, jinak se budou diakritické znaky zobrazovat špatně. Viz.: Podpora češtiny. Bez tohoto nastavení je lepší se českým znakům vyhnout.