Kako primerjati niz v C ++

How Compare String C



Primerjava nizov je zelo pogosta naloga vsakega programskega jezika. Uporablja se predvsem za preverjanje podatkov, kot je preverjanje uporabniškega imena in gesla podatkov za prijavo. Primerjavo nizov lahko izvedete s pomočjo primerjalnega operaterja ali z uporabo vgrajenih funkcij. Dve funkciji za primerjavo nizov, uporabljeni v C ++, sta: strcmp () in primerjaj () . The strcmp () je knjižnična funkcija C za primerjavo dveh nizov. C ompare () je vgrajena funkcija C ++ za primerjavo dveh nizov. Načini za primerjavo nizov z uporabo operaterjev in funkcij za primerjavo so bili razloženi v tej vadnici.

Predpogoj:

Preden preverite primere te vadnice, morate preveriti, ali je prevajalnik g ++ nameščen ali ne v sistemu. Če uporabljate Visual Studio Code, namestite potrebne razširitve za sestavljanje izvorne kode C ++ za ustvarjanje izvedljive kode. Tu je bila aplikacija Visual Studio Code uporabljena za sestavljanje in izvajanje kode C ++.







Uporaba primerjalnega operaterja za primerjavo niza:

Najpogostejši način za primerjavo nizov v C ++ je uporaba primerjalnega operaterja. To so enaki (==) in ne enaki (! =) Operatorji. Ustvarite datoteko C ++ z naslednjo kodo za primerjavo dveh vrednosti niza z operaterjem za primerjavo. V skladu s kodo bo uporabnik vzel naslov URL in ga z enakim (==) operatorjem primerjal z drugimi nizi. Če se vhodna vrednost ujema s katerim koli nizom pogoja 'if', se natisne posebno sporočilo; v nasprotnem primeru se prikaže sporočilo dela 'else'.



// Vključi potrebno knjižnico

#vključi

usingnamespace std;

intmain() {
// Razglasimo spremenljivko niza
niz url_addr;
// Vzemite naslov url od uporabnika
stroškiurl_addr;
// Primerjajte vhodno vrednost z drugim nizom z enakovrednim operatorjem
če(url_addr== 'Google com')
stroški<<'To je iskalnik wensite.'<<endl;
drugače(url_addr== 'jooble.org')
stroški<<'To je spletno mesto za iskanje zaposlitve.'<<endl;
drugače(url_addr== 'linuxhint.com')
stroški<<'To je spletno mesto za blog.'<<endl;
drugače
stroški<<'Za to spletno mesto niso dodani nobeni podatki.'<<endl;

return0;
}

Izhod:



Če je uporabnik po izvedbi kode vnesel „ linuxhint.com 'Kot vhod, se vrne tretji pogoj' če ' Prav, in prikazal se bo naslednji izhod.





Uporaba funkcije compare () za primerjavo niza:

Funkcija compare () primerja dva niza in vrne 0 ali 1 ali -1 na podlagi ujemajočega se rezultata primerjave. Pomen vrnjenih vrednosti je podan spodaj.



  • Funkcija bo vrnila 0, ko sta oba niza za primerjavo enaka.
  • Funkcija vrne 1, ko je prvi niz večji od drugega niza.
  • Funkcija bo vrnila -1, ko je prvi niz manjši od drugega niza.

Sintaksa:

intniz1.primerjaj(niz2)

Ustvarite datoteko C ++ z naslednjo kodo za primerjavo dveh vrednosti niza z dvema vhodnima vrednostma s pomočjo funkcije compare (). Preverjanje pristnosti katerega koli uporabnika je mogoče preveriti s primerjavo vrednosti, ki so jih predložili uporabniki, z vrednostmi preverjenega uporabnika. Ta postopek preverjanja pristnosti je bil izveden v naslednji kodi. Veljavni e -poštni naslov in geslo sta tukaj shranjena v dve spremenljivki niza. Nato so te vrednosti primerjali z e -poštnim naslovom in geslom, ki ga je uporabnik uporabil primerjaj () funkcijo. Logično IN operator je bil uporabljen v kodi za preverjanje pristnosti uporabnika. Sporočilo o uspehu bo natisnjeno, če obe funkciji compare () vrneta vrednost True. V nasprotnem primeru se natisne sporočilo o napaki.

// Vključi potrebno knjižnico

#vključi

usingnamespace std;

intmain() {

// Inicializiramo dve spremenljivki niza
niz elektronske pošte('[zaščiteno po e -pošti]');
geslo za niz('linuxhint');
// Razglasimo dve spremenljivki niza
niz user_email;
niz user_password;

// Vzemite e -poštni naslov od uporabnika
stroškiuser_email;

// Vzemite geslo od uporabnika
stroškiuporabniško geslo;

// Preverite uporabniško ime in geslo je veljavno ali neveljavno
če (user_email.primerjaj(E-naslov) == 0&&uporabniško geslo.primerjaj(geslo) == 0 )
stroški<<'Preverjanje pristnosti uspešno.'<<endl;
drugače
stroški<<'E -pošta ali geslo je neveljavno.'<<endl;

return0;
}

Izhod:

Če je uporabnik po izvedbi kode vnesel „ [zaščiteno po e -pošti] 'Kot e -poštni naslov in' 12345 'Kot geslo, se vrne tretji pogoj' če ' Napačno, in prikazal se bo naslednji izhod.

Po ponovni izvedbi kode, če je uporabnik vnesel „ [zaščiteno po e -pošti] 'Kot e -poštni naslov in' linuxhint 'Kot geslo, se vrne tretji pogoj' če ' Prav, in prikazal se bo naslednji izhod.

Uporaba funkcije strcmp () za primerjavo niza:

Strcmp () je še ena funkcija za primerjavo nizov v C ++. Vrne se, če sta oba primerjalna niza enaka. Vhodni parametri, ki jih sprejme ta funkcija, se razlikujejo od funkcije compare (). Funkcija primerja za parameter vzame vrednost niza, funkcija strcmp () pa niz parametrov kot niz. Sintaksa te funkcije je podana spodaj.

Sintaksa:

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

Ustvarite datoteko C ++ z naslednjo kodo za primerjavo dveh nizov s funkcijo strcmp (). V kodi sta bila deklarirana dva niza znakov po 100 elementov za shranjevanje vrednosti niza, ki so jih sprejeli uporabniki. The getline () funkcija se uporablja za shranjevanje uporabnikovega vnosa v spremenljivke matrike. Nato, strcmp () funkcija je uporabila za preverjanje, ali so vhodne vrednosti enake ali ne. Če se funkcija vrne Prav, nato se natisne sporočilo o uspehu; v nasprotnem primeru se natisne sporočilo o napaki,

// Vključi potrebne knjižnice

#vključi

#vključi

usingnamespace std;

intmain() {
// Zavrni dve nizni spremenljivki
charchrData1[100],chrData2[100];

// Vzemite podatke prvega niza
stroški<<'Vnesite prvi niz:';
gin.getline(chrData1, 100);
// Vzemite podatke drugega niza
stroški<<'Vnesite drugi niz:';
gin.getline(chrData2, 100);

če ( strcmp (chrData1,chrData2)==0)
printf ('Strune so enake n');
drugače
printf („Strune niso enake n');

return0;
}

Izhod:

Po izvedbi kode se vrednost niza ' zdravo 'Je podano za obe vhodni vrednosti in prikazal se bo naslednji izhod.

Zaključek:

V tej vadnici so bili prikazani trije načini za primerjavo nizov v C ++ z uporabo treh preprostih primerov. V tej vadnici so bile opisane uporabe operaterja za primerjavo in vgrajenih funkcij za preverjanje enakosti nizov v pomoč novim programerjem C ++.