Hogyan lehet összehasonlítani a karakterláncot C ++ nyelven

How Compare String C



A karakterláncok összehasonlítása minden programozási nyelvnél nagyon gyakori feladat. Elsősorban az adatok ellenőrzésére szolgál, például a bejelentkezési adatok felhasználónevének és jelszavának ellenőrzésére. A karakterlánc-összehasonlítást összehasonlító operátorral vagy beépített függvényekkel lehet elvégezni. A C ++ nyelvben használt két karakterlánc -összehasonlító függvény: strcmp () és összehasonlítani () . Az strcmp () a C könyvtári függvénye két sztring összehasonlítására. A c ompare () a C ++ beépített függvénye két sztring összehasonlítására. Ebben a bemutatóban ismertetjük a karakterláncok összehasonlítási módjait összehasonlító operátorokkal és függvényekkel.

Előfeltétel:

Az oktatóanyag példáinak ellenőrzése előtt ellenőrizze, hogy a g ++ fordító telepítve van -e a rendszerben. Ha Visual Studio Code -ot használ, akkor telepítse a szükséges bővítményeket a C ++ forráskód fordításához a végrehajtható kód létrehozásához. Itt a Visual Studio Code alkalmazást használtuk a C ++ kód összeállításához és végrehajtásához.







Az összehasonlító operátor használata a karakterlánc összehasonlításához:

A karakterláncok összehasonlításának leggyakoribb módja a C ++ nyelvben az összehasonlító operátor használata. Ezek egyenlő (==) és nem egyenlő (! =) Operátorok. Hozzon létre egy C ++ fájlt a következő kóddal, hogy összehasonlítsa két karakterlánc értékét az összehasonlító operátor segítségével. A kód szerint egy URL -címet vesznek le a felhasználótól, és összehasonlítják más karakterláncokkal egyenlő (==) operátor használatával. Ha a bemeneti érték megegyezik az „if” feltétel bármelyik karakterláncával, akkor az adott üzenet kinyomtatásra kerül; ellenkező esetben az „else” rész üzenete jelenik meg.



// Tartalmazza a szükséges könyvtárat

#befoglalni

usingnamespace std;

intmain() {
// String változó deklarálása
string url_addr;
// Vegyen egy url címet a felhasználótól
költségurl_addr;
// Hasonlítsa össze a bemeneti értéket egy másik karakterlánccal egyenértékű operátor használatával
ha(url_addr== 'Google com')
költség<<- Ez egy keresőmotor -webhely.<<endl;
elseif(url_addr== 'jooble.org')
költség<<'Ez egy álláskereső webhely.'<<endl;
elseif(url_addr== 'linuxhint.com')
költség<<'Ez egy blog weboldal.'<<endl;
más
költség<<'Nincs hozzáadva információ erről az oldalról.'<<endl;

visszatérés0;
}

Kimenet:



Ha a kód végrehajtása után a felhasználó beírta a „ linuxhint.com „Bemenetként a harmadik„ ha ”feltétel kerül visszaadásra Igaz, és a következő kimenet jelenik meg.





Az összehasonlítás () függvény használata a karakterlánc összehasonlításához:

Az összehasonlítás () függvény két karakterláncot hasonlít össze, és az összehasonlítás megfelelő eredménye alapján 0 vagy 1 vagy -1 értéket ad vissza. A visszatérési értékek jelentése alább található.



  • A függvény 0 -t ad vissza, ha mindkét összehasonlító karakterlánc egyenlő.
  • A függvény 1 -et ad vissza, ha az első karakterlánc nagyobb, mint a második.
  • A függvény -1 -et ad vissza, ha az első karakterlánc kisebb, mint a második.

Szintaxis:

intkarakterlánc1.összehasonlítani(karakterlánc2)

Hozzon létre egy C ++ fájlt a következő kóddal, hogy összehasonlítsa két karakterlánc értékét két bemeneti értékkel az összehasonlítás () függvénnyel. Bármely felhasználó hitelesítése ellenőrizhető a felhasználók által beküldött értékek összehasonlításával a hitelesített felhasználó értékeivel. Ezt a hitelesítési folyamatot a következő kódban hajtottuk végre. Az érvényes e -mail cím és jelszó itt két karakterlánc -változóba került. Ezután ezeket az értékeket összehasonlították az e -mail címmel és a felhasználótól vett jelszóval összehasonlítani () funkció. A logikus ÉS operátort használták a kódban a felhasználó hitelesítéséhez. A sikeres üzenet kinyomtatásra kerül, ha mindkét összehasonlító () függvény igaz értéket ad vissza. Ellenkező esetben a hibaüzenet kinyomtatásra kerül.

// Tartalmazza a szükséges könyvtárat

#befoglalni

usingnamespace std;

intmain() {

// Inicializáljon két karakterlánc -változót
karakterlánc e -mail('[email protected]');
karakterlánc jelszó('linuxhint');
// Két string változó deklarálása
karakterlánc user_email;
karakterlánc user_password;

// Vegye ki az e -mail címet a felhasználótól
költséguser_email;

// Vedd át a jelszót a felhasználótól
költségfelhasználói jelszó;

// Ellenőrizze a felhasználónevet és a jelszót érvényes vagy érvénytelen
ha (user_email.összehasonlítani(email) == 0&&felhasználói jelszó.összehasonlítani(Jelszó) == 0 )
költség<<'A hitelesítés sikeres.'<<endl;
más
költség<<'Az e -mail cím vagy a jelszó érvénytelen.'<<endl;

visszatérés0;
}

Kimenet:

Ha a kód végrehajtása után a felhasználó beírta a „ [e -mail védett] 'E -mail címként és' 12345 „Jelszóként a harmadik„ ha ”feltétel kerül visszaadásra Hamis, és a következő kimenet jelenik meg.

A kód újbóli végrehajtása után, ha a felhasználó beírta a „ [e -mail védett] 'E -mail címként és' linuxhint „Jelszóként a harmadik„ ha ”feltétel kerül visszaadásra Igaz, és a következő kimenet jelenik meg.

Az strcmp () függvény használata a karakterlánc összehasonlításához:

Az strcmp () egy másik függvény a C ++ karakterláncok összehasonlítására. Igaz, ha mindkét összehasonlító karakterlánc egyenlő. A funkció által használt bemeneti paraméterek eltérnek az összehasonlítás () függvénytől. Az összehasonlító függvény karakterlánc értéket vesz paraméterként, az strcmp () függvény pedig a char tömböt paraméterként. Ennek a függvénynek a szintaxisa az alábbiakban található.

Szintaxis:

int strcmp ( const char *str1, const char *str2);

Hozzon létre egy C ++ fájlt a következő kóddal, hogy összehasonlítsa két karakterláncot az strcmp () függvénnyel. A kódban két, 100 elemből álló karakter tömb került deklarálásra a felhasználók által felvett karakterlánc -értékek tárolására. Az getline () függvénnyel tárolhatjuk a felhasználó adatait a char tömb változóiba. Ezután a strcmp () funkció a bemeneti értékek egyenlőségének ellenőrzésére szolgál. Ha a függvény visszatér Igaz, akkor a sikerüzenet kinyomtatásra kerül; ellenkező esetben a hibaüzenet kinyomtatásra kerül,

// Tartalmazza a szükséges könyvtárakat

#befoglalni

#befoglalni

usingnamespace std;

intmain() {
// Két karakterláncváltozó késleltetése
charchrData1[100],chrData2[100];

// Vegyük az első karakterlánc -adatokat
költség<<'Írja be az első karakterláncot:';
gin.getline(chrData1, 100);
// Vegyük a második karakterlánc adatokat
költség<<'Írja be a második karakterláncot:';
gin.getline(chrData2, 100);

ha ( strcmp (chrData1,chrData2)==0)
printf (- A húrok egyenlők n');
más
printf (- A húrok nem egyenlők n');

visszatérés0;
}

Kimenet:

A kód végrehajtása után a karakterlánc értéke: ' Helló 'Mindkét bemeneti értékhez megadva, és a következő kimenet jelenik meg.

Következtetés:

Ebben az oktatóanyagban három egyszerű példa segítségével mutattuk be a karakterláncok összehasonlításának három módját a C ++ nyelven. Ebben az oktatóanyagban leírtuk mind az összehasonlító operátor használatát, mind a karakterláncok egyenlőségének ellenőrzésére szolgáló beépített funkciókat, amelyek segítenek az új C ++ programozóknak.