Kako usporediti niz u C ++

How Compare String C



Usporedba nizova vrlo je čest zadatak za svaki programski jezik. Uglavnom se koristi za provjeru valjanosti podataka, poput provjere korisničkog imena i lozinke podataka za prijavu. Usporedba nizova može se izvršiti pomoću operatora usporedbe ili pomoću ugrađenih funkcija. Dvije funkcije za usporedbu nizova korištene u C ++ su, strcmp () i usporedi () . The strcmp () je knjižnična funkcija C za usporedbu dva niza. C ompare () je ugrađena funkcija C ++ za usporedbu dva niza. Načini usporedbe nizova pomoću operatora i funkcija usporedbe objašnjeni su u ovom vodiču.

Preduvjet:

Prije nego provjerite primjere ovog vodiča, morate provjeriti je li g ++ kompajler instaliran ili nije u sustavu. Ako koristite Visual Studio Code, instalirajte potrebna proširenja za sastavljanje izvornog koda C ++ za stvaranje izvršnog koda. Ovdje se aplikacija Visual Studio Code koristila za sastavljanje i izvršavanje koda C ++.







Upotreba Operatora usporedbe za usporedbu niza:

Najčešći način usporedbe nizova u C ++ je upotreba operatora usporedbe. To su jednaki (==), a ne jednaki (! =) Operatori. Napravite C ++ datoteku sa sljedećim kodom za usporedbu dviju vrijednosti niza pomoću operatora usporedbe. Prema kodu, URL adresa će biti preuzeta od korisnika i uspoređena s drugim nizovima pomoću jednakog (==) operatora. Ako se ulazna vrijednost podudara s bilo kojim nizom uvjeta 'ako', tada će se ispisati određena poruka; u protivnom će se prikazati poruka dijela 'else'.



// Uključuje potrebnu biblioteku

#uključi

usingnamespace std;

intmain() {
// Deklariranje varijable niza
niz url_addr;
// Uzeti url adresu od korisnika
trošakurl_addr;
// Usporedimo ulaznu vrijednost s drugim nizom pomoću ekvivalentnog operatora
ako(url_addr== 'Google com')
trošak<<'To je web mjesto za tražilicu.'<<endl;
inače(url_addr== 'jooble.org')
trošak<<'To je web stranica za traženje posla.'<<endl;
inače(url_addr== 'linuxhint.com')
trošak<<'To je web stranica za blog.'<<endl;
drugo
trošak<<'Nema dodanih podataka za ovu web stranicu.'<<endl;

return0;
}

Izlaz:



Nakon izvršavanja koda, ako je korisnik upisao „ linuxhint.com 'Kao ulaz, treći uvjet' ako 'bit će vraćen Pravi, i pojavit će se sljedeći izlaz.





Upotreba funkcije compare () za usporedbu niza:

Funkcija compare () uspoređuje dva niza i vraća 0 ili 1 ili -1 na temelju rezultata podudaranja usporedbe. Značenje povratnih vrijednosti dato je u nastavku.



  • Funkcija će vratiti 0 kad su oba usporedna niza jednaka.
  • Funkcija će vratiti 1 kada je prvi niz veći od drugog niza.
  • Funkcija će vratiti -1 kada je prvi niz manji od drugog niza.

Sintaksa:

intniz1.usporediti(niz2)

Napravite C ++ datoteku sa sljedećim kodom da biste usporedili dvije vrijednosti niza s dvije ulazne vrijednosti pomoću funkcije compare (). Provjera autentičnosti svakog korisnika može se provjeriti usporedbom vrijednosti koje su korisnici dostavili s vrijednostima autentificiranog korisnika. Ovaj postupak provjere autentičnosti implementiran je u sljedećem kodu. Važeća adresa e -pošte i lozinka ovdje su spremljene u dvije varijable niza. Zatim su te vrijednosti uspoređene s adresom e -pošte i lozinkom preuzetom od korisnika usporedi () funkcija. Logično I operator je korišten u kodu za provjeru autentičnosti korisnika. Poruka o uspjehu bit će ispisana ako obje funkcije compare () vrate True. U suprotnom će se ispisati poruka o grešci.

// Uključuje potrebnu biblioteku

#uključi

usingnamespace std;

intmain() {

// Inicijaliziraju se dvije varijable niza
niz e -pošte('[zaštićena e -pošta]');
lozinka za niz('linuxhint');
// Deklariramo dvije string varijable
niz user_email;
string user_password;

// Uzeti adresu e -pošte od korisnika
trošakuser_email;

// Uzeti lozinku od korisnika
trošakkorisnička lozinka;

// Provjerite korisničko ime i lozinku jesu li valjani ili neispravni
ako (user_email.usporediti(e -mail) == 0&&korisnička lozinka.usporediti(lozinka) == 0 )
trošak<<'Autentifikacija je uspjela.'<<endl;
drugo
trošak<<'E -adresa ili lozinka nisu valjani.'<<endl;

return0;
}

Izlaz:

Nakon izvršavanja koda, ako je korisnik upisao „ [zaštićena e -pošta] 'Kao adresa e -pošte i' 12345 „Kao lozinka, treći uvjet„ ako “će biti vraćen Lažno, i pojavit će se sljedeći izlaz.

Nakon ponovnog izvršavanja koda, ako je korisnik upisao „ [zaštićena e -pošta] 'Kao adresa e -pošte i' linuxhint „Kao lozinka, treći uvjet„ ako “će biti vraćen Pravi, i pojavit će se sljedeći izlaz.

Upotreba funkcije strcmp () za usporedbu niza:

Strcmp () je još jedna funkcija za usporedbu nizova u C ++. Vraća true ako su oba usporedna niza jednaka. Ulazni parametri koje ova funkcija uzima razlikuju se od funkcije compare (). Funkcija uspoređivanja uzima parametarsku vrijednost, a funkcija strcmp () uzima niz parametara kao niz. Sintaksa ove funkcije navedena je u nastavku.

Sintaksa:

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

Napravite C ++ datoteku sa sljedećim kodom za usporedbu dva niza pomoću funkcije strcmp (). Dva znakovna niza od 100 elemenata deklarirana su u kodu za spremanje vrijednosti niza koje su preuzeli korisnici. The getline () funkcija se koristi za spremanje korisnikovog unosa u varijable niza char. Zatim, strcmp () funkcija se koristi za provjeru jesu li ulazne vrijednosti jednake ili ne. Ako se funkcija vrati Pravi, tada će se ispisati poruka o uspjehu; u protivnom će se ispisati poruka o grešci,

// Uključuje potrebne knjižnice

#uključi

#uključi

usingnamespace std;

intmain() {
// Delare dvije string varijable
charchrData1[100],chrData2[100];

// Uzmi podatke prvog niza
trošak<<'Unesite prvi niz:';
džin.getline(chrData1, 100);
// Uzmi podatke drugog niza
trošak<<'Unesite drugi niz:';
džin.getline(chrData2, 100);

ako ( strcmp (chrData1,chrData2)==0)
printf ('Žice su jednake n');
drugo
printf ('Žice nisu jednake n');

return0;
}

Izlaz:

Nakon izvršavanja koda, vrijednost niza, ' zdravo 'Je dano za obje ulazne vrijednosti, a pojavit će se sljedeći izlaz.

Zaključak:

Tri načina usporedbe nizova u C ++ prikazana su u ovom vodiču pomoću tri jednostavna primjera. Upotreba operatora usporedbe i ugrađene funkcije za provjeru jednakosti nizova opisane su u ovom vodiču kako bi pomogle novim programerima C ++.