Kā salīdzināt virkni C ++

How Compare String C



Stīgu salīdzināšana ir ļoti izplatīts uzdevums jebkurai programmēšanas valodai. To galvenokārt izmanto datu apstiprināšanai, piemēram, pieteikšanās informācijas lietotājvārda un paroles pārbaudei. Virkņu salīdzinājumu var veikt, izmantojot salīdzināšanas operatoru vai iebūvētās funkcijas. C ++ tiek izmantotas divas virkņu salīdzināšanas funkcijas, strcmp () un salīdzināt() . The strcmp () ir C bibliotēkas funkcija, lai salīdzinātu divas virknes. C ompare () ir iebūvēta funkcija C ++, lai salīdzinātu divas virknes. Šajā apmācībā ir izskaidroti veidi, kā salīdzināt virknes, izmantojot salīdzināšanas operatorus un funkcijas.

Priekšnosacījums:

Pirms šīs apmācības piemēru pārbaudes jums jāpārbauda, ​​vai g ++ kompilators ir instalēts sistēmā vai nav. Ja izmantojat Visual Studio kodu, tad instalējiet nepieciešamos paplašinājumus, lai apkopotu C ++ avota kodu, lai izveidotu izpildāmo kodu. Šeit C ++ koda apkopošanai un izpildei izmantota lietojumprogramma Visual Studio Code.







Izmantojot salīdzināšanas operatoru, lai salīdzinātu virkni:

Visizplatītākais veids, kā salīdzināt virknes C ++, ir salīdzināšanas operatora izmantošana. Tie ir vienādi (==) un nav vienādi (! =) Operatori. Izveidojiet C ++ failu ar šādu kodu, lai salīdzinātu divas virkņu vērtības, izmantojot salīdzināšanas operatoru. Saskaņā ar kodu URL adrese tiks ņemta no lietotāja un salīdzināta ar citām virknēm, izmantojot vienādu (==) operatoru. Ja ievades vērtība atbilst kādai nosacījuma “ja” virknei, tad konkrētais ziņojums tiks izdrukāts; pretējā gadījumā tiks parādīts ziņojums par daļu “cits”.



// Iekļaut nepieciešamo bibliotēku

#iekļaut

usingnamespace std;

intmain() {
// Deklarēt virknes mainīgo
virkne url_addr;
// Ņemiet no lietotāja URL adresi
izmaksasurl_addr;
// Salīdziniet ievades vērtību ar citu virkni, izmantojot līdzvērtīgu operatoru
ja(url_addr== 'Google com')
izmaksas<<'Tā ir meklētājprogrammas vietne.'<<endl;
elseif(url_addr== 'jooble.org')
izmaksas<<'Tā ir darba meklēšanas vietne.'<<endl;
elseif(url_addr== 'linuxhint.com')
izmaksas<<'Tā ir emuāra vietne.'<<endl;
citādi
izmaksas<<'Informācija par šo vietni nav pievienota.'<<endl;

atgriešanās0;
}

Izeja:



Ja pēc koda izpildes lietotājs ierakstīja “ linuxhint.com “Kā ievade tiks atgriezts trešais nosacījums“ ja ” Tiesa, un parādīsies šāda izvade.





Izmantojot salīdzināšanas () funkciju, lai salīdzinātu virkni:

Funkcija salīdzināt () salīdzina divas virknes un atgriež 0 vai 1 vai -1, pamatojoties uz salīdzināšanas rezultātu. Atgriešanās vērtību nozīme ir sniegta zemāk.



  • Funkcija atgriezīs 0, ja abas salīdzinošās virknes būs vienādas.
  • Funkcija atgriezīs 1, ja pirmā virkne būs lielāka par otro virkni.
  • Funkcija atgriezīs -1, ja pirmā virkne būs mazāka par otro virkni.

Sintakse:

intvirkne1.salīdzināt(virkne2)

Izveidojiet C ++ failu ar šādu kodu, lai salīdzinātu divas virkņu vērtības ar divām ievades vērtībām, izmantojot funkciju salīdzināt (). Jebkura lietotāja autentifikāciju var pārbaudīt, salīdzinot lietotāju iesniegtās vērtības ar autentificētā lietotāja vērtībām. Šis autentifikācijas process ir ieviests šādā kodā. Šeit derīga e -pasta adrese un parole ir saglabāta divos virkņu mainīgos. Tālāk šīs vērtības ir salīdzinātas ar e -pasta adresi un paroli, kas ņemta no lietotāja, izmantojot salīdzināt () funkciju. Loģiski UN lietotājs, lai autentificētu kodu, ir izmantots operators. Veiksmes ziņojums tiks izdrukāts, ja abas salīdzināšanas () funkcijas atgriezīs True. Pretējā gadījumā kļūmes ziņojums tiks izdrukāts.

// Iekļaut nepieciešamo bibliotēku

#iekļaut

usingnamespace std;

intmain() {

// Inicializējiet divus virkņu mainīgos
virknes e -pasts('[aizsargāts ar e -pastu]');
virknes parole('linuxhint');
// Deklarēt divus virkņu mainīgos
virkne user_email;
virkne user_password;

// Ņemiet no lietotāja e -pasta adresi
izmaksasuser_email;

// Ņem paroli no lietotāja
izmaksasuser_password;

// Pārbaudiet, vai lietotājvārds un parole ir derīga vai nederīga
ja (user_email.salīdzināt(e -pastu) == 0&&user_password.salīdzināt(parole) == 0 )
izmaksas<<'Autentifikācija ir veiksmīga.'<<endl;
citādi
izmaksas<<'E -pasts vai parole nav derīga.'<<endl;

atgriešanās0;
}

Izeja:

Ja pēc koda izpildes lietotājs ierakstīja “ [e -pasts aizsargāts] 'Kā e -pasta adresi un' 12345 “Kā parole tiks atgriezts trešais nosacījums“ ja ” Nepareizi, un parādīsies šāda izvade.

Ja lietotājs pēc koda atkārtotas izpildes ir ierakstījis “ [e -pasts aizsargāts] 'Kā e -pasta adresi un' linuxhint “Kā parole tiks atgriezts trešais nosacījums“ ja ” Tiesa, un parādīsies šāda izvade.

Izmantojot funkciju strcmp (), lai salīdzinātu virkni:

Strcmp () ir vēl viena funkcija, lai salīdzinātu virknes C ++. Tā atgriež vērtību true, ja abas salīdzinošās virknes ir vienādas. Ievades parametri, ko izmanto šī funkcija, atšķiras no salīdzināšanas () funkcijas. Salīdzināšanas funkcija kā parametru ņem virknes vērtību, bet funkcija strcmp () par masīvu izmanto masīvu char. Šīs funkcijas sintakse ir sniegta zemāk.

Sintakse:

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

Izveidojiet C ++ failu ar šādu kodu, lai salīdzinātu divas virknes, izmantojot funkciju strcmp (). Lai saglabātu lietotāju paņemtās virkņu vērtības, kodā ir deklarēti divi simbolu masīvi ar 100 elementiem. The getline () funkcija tiek izmantota, lai saglabātu lietotāja ievadīto rakstzīmju masīva mainīgos. Tālāk, strcmp () funkcija ir izmantota, lai pārbaudītu, vai ievades vērtības ir vienādas vai nē. Ja funkcija atgriežas Tiesa, tad veiksmes ziņojums tiks izdrukāts; pretējā gadījumā kļūmes ziņojums tiks izdrukāts,

// Iekļaut nepieciešamās bibliotēkas

#iekļaut

#iekļaut

usingnamespace std;

intmain() {
// Delare divi virkņu mainīgie
charchrData1[100],chrData2[100];

// Ņemiet pirmos virknes datus
izmaksas<<'Ievadiet pirmo virkni:';
džins.getline(chrData1, 100);
// Ņemiet otrās virknes datus
izmaksas<<'Ievadiet otro virkni:';
džins.getline(chrData2, 100);

ja ( strcmp (chrData1,chrData2)==0)
printf ('Stīgas ir vienādas n');
citādi
printf ('Stīgas nav vienādas n');

atgriešanās0;
}

Izeja:

Pēc koda izpildes virknes vērtība “ Sveiki 'Ir norādīts abām ievades vērtībām, un parādīsies šāda izvade.

Secinājums:

Šajā apmācībā ir parādīti trīs veidi, kā salīdzināt virknes C ++, izmantojot trīs vienkāršus piemērus. Šajā apmācībā ir aprakstīti gan salīdzināšanas operatora pielietojumi, gan iebūvētās funkcijas virkņu vienādības pārbaudei, lai palīdzētu jaunajiem C ++ programmētājiem.