Pochopenie únikových sekvencií
Únikové sekvencie v C++ umožňujú, aby znaky, ktoré vykonávajú riadiace funkcie v rámci reťazcov, boli súčasťou textu bez toho, aby boli pomýlené ako kód. Jednou z bežných nástrah pre začiatočníkov je zmätok pri zahrnutí úvodzoviek do doslovného reťazca. Napríklad nasledujúci riadok kódu bude mať za následok chybu kompilácie, pretože úvodzovky okolo „\t escape sequence“ ukončia reťazec predčasne:
reťazec txt = „Tento článok je o skúmaní „ \t úniková sekvencia“ pomocou príkladov“. ;Aby sme to v C++ programe napravili, použijeme spätnú lomku „\“ ako únikový znak, ktorý signalizuje kompilátoru, že nasledujúci znak má špeciálnu interpretáciu. Tu je postup:
reťazec txt = „Tento článok je o skúmaní \ “ \\ t escape sekvencie\” pomocou príkladov.' ;
Ponorenie sa do špeciálneho znaku (\t) v C++
Sekvencia „\t“ je viac než len nástroj na vytváranie medzier. Predstavuje znak tabulátora, ktorý spôsobí posun kurzora na ďalšiu zarážku tabulátora. To je obzvlášť užitočné pri vytváraní úhľadne formátovaných textových displejov v terminálových aplikáciách. Okrem „\t“ podporuje C++ množstvo únikových sekvencií na rôzne účely – napríklad „\n“ vytvorí nový riadok. V tomto článku sa však zameriame výlučne na únikovú sekvenciu „\t“ v C++ poskytnutím príkladov na demonštráciu jej účelu a použitia. Získate tak znalosti, ako efektívne využiť horizontálnu kartu vo svojich programovacích úlohách. Prejdime na príklady, aby sme pochopili fungovanie sekvencie escape „\t“ v programe C++.
Príklad 1:
Nasledujúci príklad kódu C++ obsahuje jednoduchý program, ktorý sa používa na tlač textu do konzoly. Pozrite si nasledujúci kód a my vám to vysvetlíme neskôr:
#include
pomocou menného priestoru std ;
int Hlavná ( ) {
cout << 'Toto je prvý riadok textu.' << endl ;
cout << „Toto je druhý riadok textu. \t ' ;
cout << „Za týmto riadkom nasleduje a \\ t escape sekvencia.' ;
vrátiť 0 ;
}
Tu sú podrobnosti o každej časti kódu:
#include
pomocou menného priestoru std; – Tento kód vám umožňuje používať názvy, ktoré sú zahrnuté v štandardnej knižnici, bez toho, aby ste im predponovali „std::“. Môžete napríklad napísať „cout“ namiesto „std::cout“.
int main() { – Toto je deklarácia a vstupný bod hlavnej funkcie pre každý program C++. „int“ pred „main“ zvyčajne označuje, že funkcia vracia celočíselné hodnoty.
cout << “Toto je prvý riadok textu.”<
cout << “Toto je druhý riadok textu.\t”; – Tu program vypíše ďalší reťazec, ktorý je „Toto je druhý riadok textu.\t“. Všimnite si „\t“ na konci. Pri tlači na konzolu pridá vodorovný tabulátor hneď za text.
cout << “Za týmto riadkom nasleduje \\t escape sekvencia.”; – V tomto riadku program vypíše “Po tomto riadku nasleduje \t escape sekvencia.”. Escape sekvencia „\\t“ sa používa na doslovné zahrnutie „\t“ do výstupu, pretože spätná lomka „\“ je sama o sebe ukončená inou spätnou lomkou, takže namiesto vodorovného tabulátora sa vytlačí samotné „\t“.
návrat 0; – Toto označí koniec hlavnej funkcie a vráti nulu, čo znamená úspešné vykonanie programu. Keď sa tento program spustí, výstup vyzerá takto:
Príklad 2:
Teraz sa pozrime na ďalší príklad a pozrime sa na čaro únikového znaku „\t“. Príkladom je jednoduchý program v jazyku C++, ktorý obsahuje štandardnú knižnicu vstupno-výstupných prúdov a používa štandardný priestor názvov. Program je navrhnutý tak, aby vytlačil na konzolu formátovanú tabuľku mien a ich pridružené mesto a krajinu.
#includepomocou menného priestoru std ;
int Hlavná ( ) {
cout << 'Názov \t | \t Mesto \t | \t Krajina' << endl ;
cout << '-------------------------------------------' << endl ;
cout << „Alice \t | \t Peking \t | \t Čína' << endl ;
cout << 'Bob \t | \t Austin \t | \t Amerika' << endl ;
cout << 'Cathe \t | \t Paríž \t | \t Francúzsko' << endl ;
cout << 'David \t | \t Durban \t | \t Južná Afrika' << endl ;
cout << '-------------------------------------------' << endl ;
vrátiť 0 ;
}
Tu je rozpis kódu:
znova, #include
pomocou menného priestoru std; – Umožňuje používať entity z menného priestoru „std“ bez potreby ich predpony „std::“.
The int main() { je vstupným bodom každého programu C++. Po spustení programu sa spúšťanie spustí odtiaľto.
V rámci hlavnej funkcie máme nasledovné:
cout << “Meno\t|\tMesto\t|\tKrajina”<
cout << “———————————————-“<
Ďalšie štyri riadky vytlačenia vytlačia každý riadok tabuľky. Tieto riadky majú rovnaký formát ako tabulátory a sú súčasťou vytvárania výstupu tabuľky. Po každom riadku údajov sa „endl“ používa na prechod na ďalší riadok. Posledný vystrihovací riadok opäť vytlačí oddeľovaciu čiaru, ktorá označuje koniec údajov tabuľky.
návrat 0;: – Tento riadok označuje úspešné vykonanie programu. Návratová hodnota 0 znamená úspech.
Keď sa tento program skompiluje a spustí, výstup sa zobrazí ako tabuľka na konzole s menami jednotlivcov, mestami a krajinami, ktoré sú úhľadne zarovnané v stĺpcoch oddelených zvislými čiarami (|) a kartami. Pozrite si nasledujúci výstup:
Poznámka: Pamätajte, že skutočné zarovnanie textu v konzole závisí od šírky nastavení karty vo vašej konzole alebo termináli, čo môže mať za následok rôzny vzhľad tabuľky na rôznych systémoch.
Príklad 3:
Tento jednoduchý, ale zaujímavý program v jazyku C++ využíva sekvencie escape na karte „\t“ na vytlačenie tvaru kosoštvorca na obrazovku. Tento kód upravuje veľkosť diamantu na základe premennej „diamant“, ktorá špecifikuje veľkosť a predstavuje počet riadkov od stredu diamantu po jeho vrch alebo spodok. Skontrolujte nasledujúci zadaný kód:
#includepomocou menného priestoru std ;
int Hlavná ( ) {
int diamant = 3 ;
pre ( int i = 1 ; i <= diamant ; ++ i ) {
pre ( int j = 0 ; j < diamant - i ; ++ j ) {
cout << ' \t ' ;
}
pre ( int j = 0 ; j < 2 * i - 1 ; ++ j ) {
cout << '* \t ' ; }
cout << endl ;
}
pre ( int i = diamant - 1 ; i >= 1 ; -- i ) {
pre ( int j = 0 ; j < diamant - i ; ++ j ) {
cout << ' \t ' ;
}
pre ( int j = 0 ; j < 2 * i - 1 ; ++ j ) {
cout << '* \t ' ; }
cout << endl ;
}
vrátiť 0 ;
}
Ako vidíte, tento program sa skladá z dvoch častí: jedna tlačí hornú polovicu diamantu a druhá tlačí dolnú polovicu. Horná polovica kosoštvorca sa vytlačí tak, že sa najskôr vytlačí klesajúci počet tabulátorov, aby sa vytvorila zarážka, a potom sa zvyšuje počet hviezdičiek „*“ oddelených uškami. Toto sa rieši v rámci prvého cyklu „for“.
Spodná polovica je vytlačená podobne, ale slučky sa opakujú, aby sa znížil počet hviezdičiek a znova sa zväčšila zarážka, čím sa vytvorí spodná polovica kosoštvorca. Toto sa rieši v druhej slučke „pre“.
Pri spustení programu s „diamant=3“ bude výstup vyzerať ako kosoštvorec, ktorý je vycentrovaný na obrazovke kvôli znakom tabulátora. Pozrite si výstup tohto konkrétneho programu:
Upozorňujeme, že skutočný vzhľad sa môže líšiť v závislosti od konzoly alebo terminálu, ktorý používate, pretože šírky kariet sa môžu líšiť.
Záver
Únikové sekvencie v C++ sú výkonným nástrojom na reprezentáciu znakov, ktoré nie je možné ľahko zobraziť v štandardnom výstupnom okne. Medzi týmito postupnosťami je horizontálna tabuľka označená „\t“ obzvlášť užitočná na pridávanie riadených horizontálnych medzier do textu. Pomocou „\t“ môžu programátori zarovnať svoj textový výstup, zlepšiť čitateľnosť a systematicky štruktúrovať údaje. Tento znak napodobňuje stlačenie klávesu „tabulátor“ na klávesnici, čím posúva kurzor na ďalšiu pozíciu karty. V tomto článku sme preskúmali funkčnosť únikovej sekvencie „\t“ v rámci jazyka C++, pričom sme zdôraznili jej aplikáciu pomocou jednoduchých a praktických príkladov na ilustráciu jej správania.