C ++ húrok: strcpy (), strcat (), strlen (), strcmp () PÉLDÁK

Tartalomjegyzék:

Anonim

Mi az a húr?

A karakterlánc egy karaktersorozat. A C ++ karakterlánc az std :: string osztály objektuma. A karakterek bájtsorozatok, amelyek egyetlen karakter bájthoz férnek hozzá.

A C ++ húrok dinamikusan osztják ki a memóriát. Szükség esetén több memóriát lehet lefoglalni a karakterlánc számára a futás ideje alatt. Mivel nincs memória-kiosztás, nincs memóriapazarlás. Különböző műveleteket hajthatunk végre húrokon, beleértve összehasonlításokat, összefűzéseket, átalakításokat stb.

Ebben a C ++ oktatóanyagban megtudhatja:

  • Mi az a húr?
  • Húrok deklarálása
    • C-stílusú karakterlánc
    • std :: string
  • Karakterlánc-értékek elérése
  • Karakterlánc funkciók:
    • strcpy ()
    • strcat ()
    • strlen ()
    • strcmp ()
    • Példa:

Húrok deklarálása

A C ++ kétféle string deklarációt támogat:

  • C stílusú karakterlánc
  • Karakterlánc típusa

C-stílusú karakterlánc

Ezt a karakterlánc-deklarációt C programozási nyelven vezették be. A C ++ továbbra is támogatja. Ez egyszerűen egydimenziós karaktertömb, null karakterrel (\ 0) végződve. A null-végű karakterlánc olyan karakterekkel rendelkezik, amelyek alkotják a karakterláncot, majd egy null követi.

Vegye figyelembe az alább megadott string deklarációt:

char name[5] = {'J', 'o', 'h', 'n', '\0'};

A fenti nyilatkozat létrehoz egy karakterláncot, amely a John szót alkotja. A szónak 4 karaktere van, de a karakterlánc mérete 5. A plusz szóköz lehetővé teszi a null karakter megtartását.

A tömb inicializálási szabálya segítségével a következõ állítást írhatjuk a következõképpen:

char name[] = "John";

Ne feledje, hogy nem kell a null karaktert a karakterlánc konstans végére helyezni. A C ++ fordító a tömb inicializálásakor automatikusan elhelyezi a '\ 0' karakterlánc végén.

std :: string

A standard C ++ könyvtár biztosítja a string osztályt, amely támogatja a különféle string műveleteket. A std :: string formátumú.

Ennek az osztálynak a használatához először be kell építenünk a munkaterületünkbe az #include előfeldolgozó segítségével, az alábbiak szerint:

#include

Ezután deklarálhatjuk a karakterláncunkat a string kulcsszóval. Például:

string name = "John";

A fenti utasítás létrehoz egy nevű karakterláncot a John érték megtartására.

Karakterlánc-értékek elérése

A C ++ nyelven a karakterlánc értékéhez a string nevével férhetünk hozzá. Például:

#include using namespace std;int main() {char name[5] = { 'J', 'o', 'h', 'n', '\0' };cout << "String value is: ";cout << name << endl;return 0;}

Kimenet:

Itt van egy képernyőkép a kódról:

Kód Magyarázat:

  1. Az iostream fejlécfájl belefoglalása a kódunkba. Ez lehetővé teszi számunkra, hogy a konzolról olvassunk és írjunk.
  2. Beleértve az std névteret annak osztályainak és függvényeinek felhasználása érdekében, anélkül, hogy meghívnánk.
  3. A main () függvény meghívása, amelyen belül hozzá kell adni a program logikáját. A {(fő) függvény törzsének kezdetét jelöli.
  4. Karakterlánc deklarálása és a név megadása. A karakterlánc tárolja a John értéket. Az extra szóköz a null karaktert fogja tárolni.
  5. Szöveg kinyomtatása a konzolra.
  6. A névvel ellátott karakterlánc értékének kinyomtatása a konzolra.
  7. A main () függvénynek vissza kell adnia egy értéket, ha a program jól fut.
  8. A fő () függvény törzsének vége.

Itt van egy másik példa a C ++ szabványos karakterlánc osztály használatával:

#include #include using namespace std;int main() {string name = "Guru99";cout << "The name is : " << name << endl;return 0;}

Kimenet:

Itt van egy képernyőkép a kódról:

Kód Magyarázat:

  1. Az iostream fejlécfájl belefoglalása a kódunkba. Ez lehetővé teszi számunkra, hogy a konzolról olvassunk és írjunk.
  2. Beleértve a szabványos karakterlánc osztályt a kódunkba.
  3. Beleértve az std névteret annak osztályainak és függvényeinek felhasználása érdekében, anélkül, hogy meghívnánk.
  4. A main () függvény meghívása, amelyen belül hozzá kell adni a program logikáját. A {(fő) függvény törzsének kezdetét jelöli.
  5. Karakterlánc deklarálása és a név megadása. A karakterlánc a Guru99 értéket tárolja.
  6. A karakterlánc nevének értékének kinyomtatása a konzolon lévő szöveg mellé.
  7. A main () függvénynek vissza kell adnia egy értéket, ha a program jól fut.
  8. A fő () függvény törzsének vége.

Karakterlánc funkciók:

Gyakran szeretné manipulálni a húrokat. A C ++ funkciók széles skáláját kínálja, amelyeket ehhez használhat. Ezeket a függvényeket a CString osztály határozza meg, ezért be kell építenünk a kódunkba a függvények használatához. Beszéljünk néhányról:

strcpy ()

Ez a karakterlánc másolási függvény. Az egyik karakterláncot egy másik karakterláncba másolja.

Szintaxis:

strcpy(string1, string2);

A függvény két paramétere, a string1 és a string2, karakterláncok. A függvény átmásolja a string1 karakterláncot az 1 karakterláncba.

strcat ()

Ez a karakterlánc összefűző függvény. Összefűzi a húrokat.

Szintaxis:

strcat(string1, string2);

A függvény két paramétere, a string1 és a string2 a összefűzendő karakterláncok. A fenti függvény összefűzi a string2 karakterláncot a string1 végéig.

strlen ()

Ez a karakterlánc hossza függvény. Visszaadja a argumentumként átadott karakterlánc hosszát.

Szintaxis:

strnlen(string1)

A string1 paraméter annak a karakterláncnak a neve, amelynek hosszát meg kell határozni. A fenti függvény visszaadja a string1 hosszúságát.

strcmp ()

Ez a string összehasonlító függvény. Karakterlánc-összehasonlításra használják.

Szintaxis:

strcmp(string1, string2);

A fenti függvény 0-t ad vissza, ha a string1 és string2 karakterláncok hasonlóak, kevesebb, mint 0, ha string1 string2.

Példa:

Az alábbi példa bemutatja a fenti karakterlánc-függvények használatát:

#include #include using namespace std;int main() {char name1[10] = "Guru99";char name2[10] = "John";char name3[10];int len;strcpy(name3, name1);cout << "strcpy( name3, name1) : " << name3 << endl;strcat(name1, name2);cout << "strcat( name1, name2): " << name1 << endl;len = strlen(name1);cout << "strlen(name1) : " << len << endl;return 0;}

Kimenet:

Itt van egy képernyőkép a kódról:

Kód Magyarázat:

  1. Az iostream fejlécfájl belefoglalása a kódunkba. Ez lehetővé teszi számunkra, hogy a konzolról olvassunk és írjunk.
  2. Beleértve a szabványos CString osztályt a kódunkba.
  3. Beleértve az std névteret annak osztályainak és függvényeinek felhasználása érdekében, anélkül, hogy meghívnánk.
  4. A main () függvény meghívása, amelyen belül hozzá kell adni a program logikáját. A {(fő) függvény törzsének kezdetét jelöli.
  5. 10 karakterből álló karakterlánc deklarálása és a név név megadása A karakterlánc a Guru99 értéket tárolja.
  6. 10 karakterből álló karakterlánc deklarálása és a név név megadása2. A karakterlánc tárolja a John értéket.
  7. 10 karakterből álló karakterlánc deklarálása és a név megadása3.
  8. A len nevű egész változó deklarálása.
  9. A string1 név másolása a string3 névbe.
  10. A string1 értékének kinyomtatása a konzolon lévő szöveg mellé. Ki kellene nyomtatnia a Guru99-et.
  11. A string2 név összefűzése a string1 név végével. A name1 értéke most Guru99John.
  12. A string1 értékének kinyomtatása a konzolon lévő szöveg mellé. Ki kellene nyomtatnia a Guru99Johnt
  13. A name1 nevű karakterlánc hosszának meghatározása és a hosszúság értékének a len változóhoz rendelése.
  14. A len változó értékének kinyomtatása más szöveg mellé a konzolon.
  15. A main () függvénynek vissza kell adnia egy értéket, ha a program jól fut.
  16. A fő () függvény törzsének vége.

Összegzés

  • A karakterlánc egy karaktersorozat.
  • A húrok a standard karakterlánc osztályba tartoznak C ++ nyelven.
  • A karakterláncokat deklarálhatjuk a C stílusú karakterlánc vagy a standard karakterlánc osztály használatával.
  • Az strcpy () függvény átmásolja az egyik karakterláncot a másikba.
  • Az strcat () függvény két függvényt összefűz.
  • A strlen () függvény visszaadja a függvény hosszát.
  • Az strcmp () függvény két karakterláncot hasonlít össze.