Cum se compară șirul în C ++

How Compare String C



Compararea șirurilor este o sarcină foarte obișnuită pentru orice limbaj de programare. Este utilizat în principal pentru validarea datelor, cum ar fi verificarea numelui de utilizator și a parolei informațiilor de conectare. Comparația șirului se poate face utilizând un operator de comparație sau folosind funcții încorporate. Două funcții de comparare a șirurilor utilizate în C ++ sunt, strcmp () și comparaţie() . The strcmp () este o funcție de bibliotecă a lui C pentru a compara două șiruri. C ompare () este o funcție încorporată a C ++ pentru a compara două șiruri. Modurile de a compara șirurile folosind operatori și funcții de comparație au fost explicate în acest tutorial.

Cerință prealabilă:

Înainte de a verifica exemplele acestui tutorial, trebuie să verificați dacă compilatorul g ++ este instalat sau nu în sistem. Dacă utilizați Visual Studio Code, atunci instalați extensiile necesare pentru a compila codul sursă C ++ pentru a crea codul executabil. Aici, aplicația Visual Studio Code a fost utilizată pentru a compila și executa codul C ++.







Utilizarea operatorului de comparație pentru a compara șirul:

Cel mai comun mod de a compara șirurile în C ++ este folosind operatorul de comparație. Aceștia sunt operatori egali (==) și nu egali (! =). Creați un fișier C ++ cu următorul cod pentru a compara două valori de șiruri folosind operatorul de comparație. Conform codului, o adresă URL va fi preluată de la utilizator și comparată cu alte șiruri folosind un operator egal (==). Dacă valoarea de intrare se potrivește cu orice șir din condiția „dacă”, atunci mesajul specific va fi tipărit; în caz contrar, va fi afișat mesajul părții „else”.



// Includeți biblioteca necesară

#include

folosind namespace std;

principal() {
// Declarați o variabilă șir
șir url_addr;
// Luați o adresă URL de la utilizator
costurl_addr;
// Comparați valoarea de intrare cu un alt șir folosind un operator echivalent
dacă(url_addr== „Google com”)
cost<<„Este un site de motor de căutare.”<<endl;
elseif(url_addr== „jooble.org”)
cost<<„Este un site de căutare de locuri de muncă.”<<endl;
elseif(url_addr== „linuxhint.com”)
cost<<„Este un site de blog.”<<endl;
altceva
cost<<„Nu sunt adăugate informații pentru acest site.”<<endl;

returnare0;
}

Ieșire:



După executarea codului, dacă utilizatorul a tastat „ linuxhint.com „Ca intrare, va fi returnată a treia condiție„ dacă ” Adevărat, și va apărea următoarea ieșire.





Folosind funcția compare () pentru a compara șirul:

Funcția compare () compară două șiruri și returnează 0 sau 1 sau -1 pe baza rezultatului corespunzător al comparației. Sensul valorilor returnate este dat mai jos.



  • Funcția va returna 0 atunci când ambele șiruri de comparare sunt egale.
  • Funcția va reveni 1 când primul șir este mai mare decât al doilea șir.
  • Funcția va reveni -1 când primul șir este mai mic decât al doilea șir.

Sintaxă:

intșirul 1.comparaţie(șirul2)

Creați un fișier C ++ cu următorul cod pentru a compara două valori de șiruri cu două valori de intrare folosind funcția compare (). Autentificarea oricărui utilizator poate fi verificată prin compararea valorilor transmise de utilizatori cu valorile utilizatorului autentificat. Acest proces de autentificare a fost implementat în următorul cod. Adresa de e-mail și parola valide au fost stocate în două variabile șir aici. Apoi, aceste valori s-au comparat cu adresa de e-mail și parola preluate de la utilizatorul care utilizează compare () funcţie. Logica ȘI operatorul a fost utilizat în cod pentru autentificarea utilizatorului. Mesajul de succes va fi tipărit dacă ambele funcții compare () returnează True. În caz contrar, mesajul de eroare va fi tipărit.

// Includeți biblioteca necesară

#include

usingnamespace std;

principal() {

// Inițializați două variabile șir
e-mail șir(„[email protected]”);
parola de șir(„linuxhint”);
// Declarați două variabile șir
string user_email;
string user_password;

// Luați adresa de e-mail de la utilizator
costuser_email;

// Luați parola de la utilizator
costParolă de utilizator;

// Verificați numele de utilizator și parola sunt valide sau nevalide
dacă (user_email.comparaţie(e-mail) == 0&&Parolă de utilizator.comparaţie(parola) == 0 )
cost<<„Autentificarea a reușit.”<<endl;
altceva
cost<<„E-mailul sau parola nu sunt valide.”<<endl;

returnare0;
}

Ieșire:

După executarea codului, dacă utilizatorul a tastat „ [e-mail protejat] „Ca adresă de e-mail și„ 12345 „Ca parolă, va fi returnată a treia condiție„ dacă ” Fals, și va apărea următoarea ieșire.

După executarea codului din nou, dacă utilizatorul a tastat „ [e-mail protejat] „Ca adresă de e-mail și„ linuxhint „Ca parolă, va fi returnată a treia condiție„ dacă ” Adevărat, și va apărea următoarea ieșire.

Folosind funcția strcmp () pentru a compara șirul:

Strcmp () este o altă funcție pentru a compara șirurile în C ++. Revine adevărat dacă ambele șiruri de comparare sunt egale. Parametrii de intrare luați de această funcție sunt diferiți de funcția compare (). Funcția de comparare ia o valoare de șir ca parametru, iar funcția strcmp () ia matricea char ca parametru. Sintaxa acestei funcții este dată mai jos.

Sintaxă:

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

Creați un fișier C ++ cu următorul cod pentru a compara două șiruri folosind funcția strcmp (). Două matrice de caractere de 100 de elemente au fost declarate în cod pentru a stoca valorile șirului luate de utilizatori. The getline () funcția este utilizată pentru a stoca intrarea utilizatorului în variabilele matricei de caractere. Apoi, strcmp () funcția a fost utilizată pentru a verifica dacă valorile de intrare sunt egale sau nu. Dacă funcția revine Adevărat, apoi mesajul de succes va fi tipărit; în caz contrar, mesajul de eșec va fi tipărit,

// Includeți bibliotecile necesare

#include

#include

usingnamespace std;

principal() {
// Anulați două variabile șir
charchrData1[100],chrData2[100];

// Luați primele șiruri de date
cost<<'Introduceți primul șir:';
gin.getline(chrData1, 100);
// Luați al doilea șir de date
cost<<'Introduceți al doilea șir:';
gin.getline(chrData2, 100);

dacă ( strcmp (chrData1,chrData2)==0)
printf (Șirurile sunt egale n');
altceva
printf (Șirurile nu sunt egale n');

returnare0;
}

Ieșire:

După executarea codului, valoarea șirului, „ Buna ziua ‘Este dat pentru ambele valori de intrare și va apărea următoarea ieșire.

Concluzie:

Trei moduri de a compara șirurile în C ++ au fost prezentate în acest tutorial folosind trei exemple simple. Atât utilizările operatorului de comparație, cât și funcțiile încorporate pentru verificarea egalității șirurilor au fost descrise în acest tutorial pentru a ajuta noii programatori C ++.