A szökési szekvenciák megértése
Az Escape szekvenciák a C++ nyelvben lehetővé teszik, hogy a karakterláncokon belül a vezérlőfunkciókat végrehajtó karakterek a szöveg részei legyenek, anélkül, hogy kódnak tévednénk. A kezdők egyik gyakori buktatója az idézőjelek szó szerinti karakterláncba való beillesztésével kapcsolatos zavar. Például a következő kódsor fordítási hibát eredményez, mivel a „\t escape szekvencia” körüli idézőjelek idő előtt lezárják a karakterláncot:
karakterlánc txt = 'Ez a cikk a \t escape szekvencia” példák segítségével.' ;Ennek kijavításához egy C++ programban a „\” fordított perjelt használjuk escape karakterként, jelezve a fordítónak, hogy a következő karakternek speciális értelmezése van. Íme, hogyan történik:
karakterlánc txt = 'Ez a cikk a \' felfedezéséről szól \\ t escape szekvencia\” példák segítségével.' ;
Merülés a speciális karakterekbe (\t) a C++ nyelven
A „\t” szekvencia több, mint egy térköz eszköz. Ez egy tabulátor karaktert jelöl, amely a kurzort a következő tabulátorhelyre váltja. Ez különösen praktikus a szépen formázott szöveges megjelenítések létrehozásához terminálalkalmazásokban. A „\t” karakteren túl a C++ számos escape szekvenciát támogat különböző célokra – például a „\n” új sort hoz létre. Ebben a cikkben azonban kizárólag a C++ „\t” escape szekvenciájára összpontosítunk, példákkal szemléltetve annak célját és használatát. Ez megadja a tudást a vízszintes fül hatékony alkalmazásához a programozási feladatokban. Térjünk át a példákra, hogy megértsük a „\t” escape szekvencia működését egy C++ programban.
1. példa:
A következő C++ kódpélda egy egyszerű programot tartalmaz, amely a szöveg konzolra történő kinyomtatására szolgál. Tekintse meg a következő kódot, és ezt követően elmagyarázzuk:
#include
névtér std használatával ;
int fő- ( ) {
cout << – Ez a szöveg első sora. << endl ;
cout << 'Ez a szöveg második sora. \t ' ;
cout << „Ezt a sort követi a \\ t escape szekvencia.' ;
Visszatérés 0 ;
}
Itt található egy részlet a kód egyes részeiről:
#include
névtér használata std; – Ez a kód lehetővé teszi a szabványos könyvtárban szereplő nevek használatát anélkül, hogy az „std::” előtaggal előtagozná őket. Például az „std::cout” helyett „cout”-t írhat.
int main() { – Ez minden C++ program főfüggvényének deklarációja és belépési pontja. Az „int” a „main” előtt általában azt jelzi, hogy a függvény egész értéket ad vissza.
cout << „Ez a szöveg első sora.”<
cout << „Ez a szöveg második sora.\t”; – Itt a program egy másik karakterláncot ad ki, amely a következő: „Ez a szöveg második sora.\t”. Figyeld meg a „\t”-t a végén. A konzolra nyomtatva vízszintes tabulátorközt ad közvetlenül a szöveg után.
cout << „Ezt a sort egy \\t escape szekvencia követi.”; – Ebben a sorban a program kiírja: „Ezt a sort egy \t escape szekvencia követi.”. A „\\t” escape szekvencia szó szerint szerepel a „\t” kimenetben, mivel a „\” fordított perjelet magát egy másik fordított perjel hagyja ki, így maga a „\t” kerül kinyomtatásra vízszintes tabulátor helyett.
visszatérés 0; – Ez jelzi a fő függvény végét, és nullát ad vissza, ami a program sikeres végrehajtását jelzi. Amikor ez a program fut, a kimenet így néz ki:
2. példa:
Most nézzünk egy másik példát, és lássuk a „\t” escape karakter varázslatát. A példa egy egyszerű C++ program, amely szabványos bemeneti-kimeneti adatfolyam könyvtárat tartalmaz, és a szabványos névteret használja. A program úgy készült, hogy a neveket és a hozzájuk tartozó városokat és országokat tartalmazó formázott táblázatot nyomtatja ki a konzolra.
#includenévtér std használatával ;
int fő- ( ) {
cout << 'Név \t | \t Város \t | \t Ország' << endl ;
cout << '-------------------------------------------' << endl ;
cout << 'Alice \t | \t Peking \t | \t Kína' << endl ;
cout << 'Bob \t | \t Austin \t | \t Amerika' << endl ;
cout << 'Cathe \t | \t Párizs \t | \t Franciaország' << endl ;
cout << 'David \t | \t Durban \t | \t Dél-Afrika' << endl ;
cout << '-------------------------------------------' << endl ;
Visszatérés 0 ;
}
Íme a kód bontása:
Újra, #include
névtér használata std; – Lehetővé teszi az „std” névtérből származó entitások használatát anélkül, hogy „std::” előtaggal kellene őket rögzíteni.
A int main() { minden C++ program belépési pontja. A program futtatásakor a végrehajtás innen indul.
A fő funkción belül a következőkkel rendelkezünk:
cout << „Név\t|\tVáros\t|\tOrszág”<
cout << “——————————————-“<
A következő négy színsor a táblázat egy-egy sorát nyomtatja ki. Ezek a sorok ugyanazt a formátumot követik a tabulátorokkal, és részét képezik a táblázat kimenetének. Minden adatsor után az „endl” billentyűvel léphet a következő sorra. Az utolsó számsor ismét kinyomtatja az elválasztó sort, jelezve a táblázat adatainak végét.
vissza 0;: – Ez a sor a program sikeres végrehajtását jelzi. A 0 visszatérési érték sikert jelez.
A program lefordítása és futtatása során a kimenet táblázatként jelenik meg a konzolon az egyének nevével, városaival és országaival, amelyek szépen sorba vannak rendezve, függőleges sávokkal (|) és tabulátorokkal elválasztott oszlopokban. Lásd a következő kimenetet:
Jegyzet: Ne feledje, hogy a szöveg tényleges igazítása a konzolon a konzolon vagy terminálon lévő fülbeállítások szélességétől függ, ami a táblázatok eltérő megjelenését eredményezheti a különböző rendszereken.
3. példa:
Ez az egyszerű, de érdekes C++ program a „\t” tabulátor escape szekvenciákkal gyémánt alakzatot nyomtat a képernyőre. Ez a kód méretezi a gyémánt méretét a „gyémánt” változó alapján, amely megadja a méretet, és a sorok számát jelenti a gyémánt közepétől a tetejéig vagy aljáig. Ellenőrizze a következő megadott kódot:
#includenévtér std használatával ;
int fő- ( ) {
int gyémánt = 3 ;
számára ( int én = 1 ; én <= gyémánt ; ++ én ) {
számára ( int j = 0 ; j < gyémánt - én ; ++ j ) {
cout << ' \t ' ;
}
számára ( int j = 0 ; j < 2 * én - 1 ; ++ j ) {
cout << '* \t ' ; }
cout << endl ;
}
számára ( int én = gyémánt - 1 ; én >= 1 ; -- én ) {
számára ( int j = 0 ; j < gyémánt - én ; ++ j ) {
cout << ' \t ' ;
}
számára ( int j = 0 ; j < 2 * én - 1 ; ++ j ) {
cout << '* \t ' ; }
cout << endl ;
}
Visszatérés 0 ;
}
Mint látható, ez a program két részből áll: az egyik a gyémánt felső felét, a másik pedig az alsó felét nyomtatja. A gyémánt felső felét úgy nyomtatják ki, hogy először csökkenő számú tabulátort adnak ki a behúzás létrehozásához, majd ezt követi a tabulátorokkal elválasztott növekvő számú „*” csillag. Ezt az első „for” cikluson belül kezeljük.
Az alsó felét hasonlóan nyomtatja ki, de a hurkok fordított sorrendben ismétlődnek, hogy csökkentsék a csillagok számát, és ismét növeljék a behúzást, létrehozva a rombusz alsó felét. Ezt a második „for” ciklus kezeli.
Ha a programot „gyémánt= 3”-mal futtatjuk, a kimenet gyémántnak tűnik, amely a tabulátor karakterek miatt a képernyő közepén helyezkedik el. Tekintse meg ennek a programnak a kimenetét:
Felhívjuk figyelmét, hogy a tényleges megjelenés a használt konzoltól vagy termináltól függően eltérő lehet, mivel a fülek szélessége eltérő lehet.
Következtetés
Az Escape szekvenciák a C++ nyelvben hatékony eszközt jelentenek azon karakterek megjelenítésére, amelyek nem jeleníthetők meg könnyen egy szabványos kimeneti ablakban. Ezen sorozatok közül a „\t”-vel jelölt vízszintes tabulátor különösen hasznos a szabályozott vízszintes szóközök szövegbe való hozzáadásához. A „\t” használatával a programozók igazíthatják szövegkimeneteiket, javíthatják az olvashatóságot és szisztematikusan strukturálhatják az adatokat. Ez a karakter a „Tabulátor” billentyű lenyomását imitálja a billentyűzeten, és a kurzort a következő tabulátorpozícióra viszi. Ebben a cikkben megvizsgáltuk a „\t” escape szekvencia funkcionalitását a C++ nyelven belül, és rávilágítottunk alkalmazására egyszerű és gyakorlati példákkal, amelyek illusztrálják a viselkedését.