Hosszának meghatározása vonalak

Nagyon gyakran, amikor dolgozik húrok kell tudni, hogy hány karakter a szöveg tartalmaz. Annak tisztázása információkat a string hossza a header fájlban string.h leírt funkció strlen (). A szintaxisa Ez a funkció a következő:

size_t strlen (const char * string)

A funkció az egyedüli paraméter kap egy mutatót, hogy az elején húr vonalak, kiszámítja a beérkezett előjel nélküli egész, és visszaadja a karaktersorozatot (size_t). sizeof () függvény egy értéket eggyel kevesebb, mint az adott tömb miatt tartalék helyet a karakter „\ 0”. A következő kódrészlet használatát mutatja strlen () függvényt:

char Str [] = "ABCDEFGHIJK";

előjel nélküli int i; i = strlen (Str);

Gyakran sizeof () függvény használható a bemeneti vonalak, mint egy második tervezési paraméter cin.getline (), hogy a

Sztringértékei lehet másolni az egyik a másikra. Erre a célra számos standard alábbi funkciók közül.

strcpy () függvény prototípus;

char * strcpy (char * STRL, const char * str2)

Például, a következő kód példányban értéke a húr Str „Másolás Test” sort:

strcpy (Str, "backup teszt";

char STRL [20] = "backup ellenőrzés";

// ptr most mutat

strncpy () függvény eltér strcpy () téma. az ő beállítása egy újabb érv meghatározza a karakterek száma, amelyek már nem kerülnek másolásra. A szintaxis a következő:

char * strncpy (char * STRL, const char * str2,

Ha a hossza kisebb, mint a hossza STRL str2, karakterek vágás következik be:

char cLong [] = "012345678901234567890123456789";

strncpy (CShort, cLong, 4);

cout «CShort« '\ n';

Az eredmény jelenik meg:

Azaz, a string sort CShort cLong az első négy szimbólum másolt elakadt eredeti érték ezáltal kezdődő rövid karakterlánc.

StrDup () függvény paraméterként kapja egy mutatót a sornak, elvégzi a memória kiosztás, másolás kijelölt területein egy húr, és visszaad egy pointert a sor elejére kapott példány. A szintaxis a következő:

char * StrDup (const char * forrás)

char * STRL = "Az eljárás nem található";

Egybetoldjuk (vagy csatlakoznak) vonalak gyakran használják képező új karaktersort. Ehhez a művelethez a standard könyvtár kínál strcat () és strncat ().

strcat () függvény a következő szintaxissal:

char * strcat (char * STRL, const char * str2)

Ennek eredményeként, a kilépési munka tartalmát a húr által mutatott str2, csatlakozik a tartalmát a húr által hivatkozott STRL. Visszaadja a függvénymutatóval STRL pontot az így kapott szöveget. Az érték a string array STRL elegendőnek kell lennie ahhoz, hogy tárolja a kombinált szöveget.

A következő példában, a húr str inicializálunk egy példányát strcpy (), és egészíti ki részkarakterláncként segítségével strcat () funkció:

strcpy (str, "hogy továbbra is");

strcat (str, "press");

strncatO funkciót is ellát összefűzés húr, de csak összeköti a harmadik paraméter megadott számú karaktert (előjel nélküli egész):

char * strncat (char * STRL, const char * str2, size_t num)

A függvény visszaad egy pointert a sor elejére kialakult STRL. Az alábbi példa végez szövegösszefűzés STRL első hét karakter az részsztring str2:

char STRL [90] = "A folytatáshoz"; char str2 [30] = "Press"; strncat (STRL, str2,7); cout «STRL;

Ennek eredményeként, a vonal jelenik meg: „Press a folytatáshoz.”

Kapcsolódó cikkek