Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Dĺžka reťazca bez postavený v roku funkcií v C + +

Za normálnych okolností , môže programátor načítať dĺžku trestu ( alebo reťazca ) v akomkoľvek C + + programu povolania " dĺžka ( ) " metóda reťazec je . Avšak , struny , ako je implementovaná v C + + neboli vždy k dispozícii , a programátori nemali prístup k ready - made ​​metód , ako je dĺžka ( ) . Počítanie dĺžku reťazca bez použitia tejto postavený v metóde zahŕňa porozumenie reťazec , c- štýle znak pole , a tak , ako iterovat nad nimi . C + + Reťazce a C Strings

V C + + , vstavaný dátový typ " string " predstavuje vety , frázy alebo slová . Avšak , dátový typ reťazec vlastne predstavuje to , čo programátori hovoria reťazec "c - style " . V pôvodnom jazyku C , programátori uložené tresty ako kolekcia ( alebo pole ) znakov . Takže zatiaľ čo v C + + , veta deklarácie premenných vyzerá takto :

string str = " Ahoj " ;

v C , rovnaké vyhlásenie vyzerá :

char str [ 50 ] = " Hello " ;

ak " str " predstavuje rad 50 znakov . Okrem toho , pretože reťazca C - štýl je jednoducho pole , ktoré všetko skončí s prázdnym ukončujúce znak ( " \\ 0 " ) , ktorá označuje koniec reťazca .
" C_str ( ) " Metóda

zaujímavá vec , o reťazce v C + + je , že sú triedy , a ako trieda obsahuje metódy robiť prácu na povrázku . Jednou z týchto metód ( " c_str ( ) " ) vráti C - štýl reťazec , ktorý predstavuje + + reťazec C. To znamená , že návratová hodnota skončí ako znak pole obsahujúce znaky reťazca , vrátane null ukončenie charakter .
Kopírovanie C String

Ak chcete skutočne niečo urobiť s C - štýl reťazca načítaných z c_str ( ) , programátor musí dať ju do poľa znakov . To si vyžaduje metódu " strcpy " , ktorý bude kopírovať jeden znak poľa do druhého : Spojené

# include klipart

# include

# include < ; iostream >

using namespace std ;

string str = " Reťazec " ;

char str2 [ 50 ] ;

strcpy ( str2 , str . c_str ( ) )

, reťazec reprezentácie C - štýl " str " skopíruje do poľa znakov " str2 " ( vrátane nulového znaku ) .
Počítanie znaky

, že programátor má kópiu poľa reťazca , vrátane znakom null , ktorý bude informovať programátor , keď reťazec končí , sa stáva záležitosťou len počítanie znakov , kým program narazí na null osobnosť:

int i = 0 ;

while ( ! str2 [ i ] = " \\ 0 " ) {

i + +

}

cout << i + 1 ;

" , zatiaľ čo " kontroly slučky každá postava od samého začiatku ( 0. pozície znaku ) až do dosiahnutia nulový znak . Potom , program vytlačí aj +1 ( pretože index začína na 0 a null pozície znaku sa nepočíta ) , čo má za následok vrátená hodnota 8.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené