Karaktersorainak egy
Karaktersorozatok tárolt információkat, például a fájl nevét, a könyv címét, nevét, a munkavállalók és más karakter kombinációk. A legtöbb program a C ++ széles körben használják karaktersor. Ezután megtudhatja, hogy a C ++ húrok vannak tárolva egy char tömb, azaz a NULL karaktert (ASCII vagy 0).
A fő különbség a karakterláncot és más típusú tömbök, mint a C ++ jelzi az utolsó elem a tömb, a C ++ programot képviseli a végén egy karakterlánc egy NULL karakter, aki ábrázolják, mint egy speciális karaktert „\ 0” C ++. Ha a karakterek vannak rendelve egy karakterlánc, meg kell tenni a NULL karaktert ( „\ 0”), miután az utolsó karakterhez. Például az alábbi program ábécé. CPP rendel írni tól Z-ig változó ábécé, egy hurok. Ezután hozzáad egy NULL karakter ebben a változó, és megjeleníti azt a cout.
char ábécé [34]; // 33 karakter plusz NULL char írni;
írni ++, index ++) ábécé [index] = írni;
cout <<"Буквы " < A program hozzárendel egy NULL karakterlánc, jelezve az utolsó karaktert a szöveg: Ha a kimeneti áram cout kiad egy karakterlánc, kiadja egy sor karakter, amíg nem találkozik NULL szimbólumot. Röviden, Symbol NULL mondja a program az utolsó karakterhez. Megjegyzés: a hurok, ami megjelenik az előző program. Mint látható, a ciklus és inicializálja a két változó növekszik (levél, index). Amikor egy hurok inicializálja vagy növeli a változók száma, külön a működési pont (a vessző is C ++ operátor): a (betű = 'A', index = 0; írni <= 'Я'; letter++, index++) C ++ automatikusan hozzáad egy NULL sztring konstansok Amikor létrehoz egy karakterlánc-állandókat C ++ fordító automatikusan hozzáad egy NULL karaktert, ahogy az 1. ábrán látható. Ábra. 1. C ++ fordítóprogram automatikusan hozzáad egy NULL karaktert sztring konstansok. Amikor egy program kimeneti karakterlánc konstansok keresztül kimeneti stream cout, cout használ NULL szimbólumot (ami növeli a fordító vonal) meghatározására az utolsó jel kimenet. A NULL karaktert Ha egy szöveg konstans idézőjelek, C ++ fordítóprogram automatikusan hozzáadja a NULL karaktert. A legtöbb C ++ függvényeket használja a NULL karaktert, hogy meghatározza az utolsó karaktert a húr. Következő LOOPNULL.CPP programot kissé megváltoztatja az előző program segítségével a hurok tartalmának megjelenítéséhez a húr: char ábécé [34]; // 33 karakter plusz NULL char írni; a (betű = 'A', index = 0; írni <= 'Я'; letter++, index++) alphabet[index] = letter; az (index = 0; ábécé [index] 1 = NULL; index ++) cout < A ciklus egy sorban megvizsgálja szimbólumokat. Ha a szimbólum nem NULL (nem az utolsó karakter a string), loop nyomatok szimbólum index növekszik, és a folyamat folytatódik. Mivel „A” eltér az „A” Symbol belül aposztróf jelet egy karakter konstans. C ++ fordító bocsát ki csak egyetlen byte memória egy karakter konstans. Azonban karakter idézőjelek karakterlánc konstans - mondta szimbólum NULL szimbólumot (hozzá a fordító). Így a fordító osztja két byte egy karakterlánc. 2. ábra szemlélteti a C ++ fordító tárolja a karakter konstans „A” és egy sor állandó „A”. Inicializáló karaktersor char cím [64] = "Tanulás programozni C ++ nyelven"; char cím [] = "Tanulás programozni C ++"; char cím [64] = "Tanulás programozni C ++ nyelven"; char tanulsága [64] = "karakterlánc"; cout <<"Книга: " < cout <<"Урок: " < Néhány program a többi könyv inicializálja karaktersorainak hasonló módon. Vegyünk egy kis időt, hogy kísérletezzenek a program megváltoztatja a karakter az egyes vonalon. Gépsorok működnek Az átviteli függvény a karakterlánc az átviteli bármilyen hasonló tömb paraméterként. Bent a funkció csak meg kell adnia, hogy milyen a tömb (char) és a bal és a jobb oldali zárójelben a tömbben. Nem kell, hogy meghatározza a méret a húr. Például a következő program a SHOW_STR.CPP show_ sztring függvény, hogy megjelenítse a karakterlánc a képernyőn: void show_string (char string []) cout < show_string ( "vizsgálati program C ++"); Show_string függvény értelmezi a paraméter karakterláncot egy tömb: void show_string (char string []) Mivel a NULL szimbólum azt jelzi, a végén a húr, a funkció nem igényel semmilyen paraméter, amely meghatározza az elemek száma a tömbben. Ehelyett a funkció határozza meg az utolsó elem a tömbben csak találni egy NULL karaktert. C ++ függvények gyakran használják a NULL karaktert, hogy meghatározza a sor végére. Következő STR_LEN.CPP teremt nevű függvény STRING_LENGTH, aki keres egy NULL karakterhez, hogy meghatározza a karakterek számát tartalmazza a húr. Ezután a függvény visszatérési nyilatkozat, hogy visszatérjen a sor, hogy hívja a funkció hosszát. A program továbbítja különböző karakterláncok a funkció megjeleníti a hossza egyenként őket a képernyőn: int STRING_LENGTH (char string []) for (i = 0 ;! string [] = '\ 0'; i ++); // semmi köze, de megy // a következő karakter visszatérő (i); A vonal hossza char cím [] = "Tanulás programozni C ++"; char leckét [] = "karakterlánc"; cout <<"Строка " < cout <<"Строка " < A funkció indítása az első karakter a string (elem 0), majd megvizsgálja az egyes elemek akár, amíg nem találkozik NULL. NULL szimbólumot egy ASCII 0. C ++ használja egy szimbólum értéke 0, hogy képviselje a hamis. Így mivel a NULL szimbólumot 0, a program egyszerűsítését sok műveleti ciklus. Például számos funkciót böngészi húrok karakterenként NULL keresést. A következő lépés a hurok szemlélteti, hogy egy program lehet keresni NULL sorban: az (index = 0; string [index] = NULL ;! index ++) Mivel NULL karakter 0, a program leegyszerűsíti sok ciklus, hogy a keresett NULL, az alábbiak szerint: az (index = 0; string [index]; index ++); Ebben az esetben, amíg a szimbólum szerepel a string [index] nem NULL (0 vagy hamis), a ciklus folytatódik. Használata string függvények futásidejű könyvtár A legtöbb C ++ fordító biztosít egy kiterjedt funkciók, az úgynevezett futásidejű könyvtár. Futásidejű könyvtár tartalmaz egy csomó különböző funkciókat, manipulálni húrok. Például, strupr függvény egy karakterlánc nagybetűs karakterlánc. Hasonlóképpen, strlen függvény karakterek száma soronként. A legtöbb könyvtár futásidejű még olyan funkciókat, amelyek lehetővé teszik, hogy megtekinthesse a vonal a keresést egy adott karaktert. Például az alábbi program használatát szemlélteti STRUPR.CPP strupr strlwr funkciók és futásidejű könyvtárak: // funkciók strupr és strlwr char cím [] = "Tanulás programozni C ++"; char leckét [] = "karakterlánc"; cout <<"Верхний регистр: " < cout <<"Нижний регистр: " < A használata könyvtári funkciók manipulálni húrok lehet menteni a szükséges időt programozás. A legtöbb funkciót, hogy manipulálják húrok támaszkodnak NULL karaktert a sor végére. Ha a program van rendelve egy karakterlánc, amelyet győződjön meg arról, hogy adjunk egy NULL karaktert, mint az utolsó karakter a húr. Ha a program nem használja NULL adott esetben a funkciók támaszkodnak a NULL karakter kóbor. A karakterlánc egy sor karakter végződő 0 (NULL szimbólumot). NULL karakter van elhelyezve utolsó karaktere után a húr. Ha a program használ egy szövegben idézőjelek, C ++ fordítóprogram automatikusan hozzáadja a NULL karaktert. A legtöbb C ++ fordító a saját futásidejű könyvtár biztosítja a széles körű funkciók manipulálni húrok.Kapcsolódó cikkek