Kaip palyginti eilutę C ++

How Compare String C



Eilių lyginimas yra labai dažna užduotis bet kuriai programavimo kalbai. Jis daugiausia naudojamas duomenims patvirtinti, pvz., Patikrinti prisijungimo informacijos vartotojo vardą ir slaptažodį. Eilių palyginimą galima atlikti naudojant palyginimo operatorių arba naudojant integruotas funkcijas. C ++ naudojamos dvi eilučių palyginimo funkcijos: strcmp () ir palyginti () . The strcmp () yra C bibliotekos funkcija, skirta palyginti dvi eilutes. C ompare () yra integruota C ++ funkcija, skirta palyginti dvi eilutes. Šiame vadove paaiškinti būdai, kaip palyginti eilutes naudojant palyginimo operatorius ir funkcijas.

Būtina sąlyga:

Prieš tikrindami šios pamokos pavyzdžius, turite patikrinti, ar sistemoje „g ++“ kompiliatorius yra įdiegtas, ar ne. Jei naudojate „Visual Studio Code“, įdiekite reikiamus plėtinius, kad sudarytumėte C ++ šaltinio kodą, kad sukurtumėte vykdomąjį kodą. Čia „Visual Studio Code“ programa buvo naudojama C ++ kodui sudaryti ir vykdyti.







Palyginimo operatoriaus naudojimas eilutėms palyginti:

Dažniausias būdas palyginti eilutes C ++ yra naudojant palyginimo operatorių. Tai yra lygūs (==) ir ne lygūs (! =) Operatoriai. Sukurkite C ++ failą su šiuo kodu, kad galėtumėte palyginti dvi eilutės reikšmes naudodami palyginimo operatorių. Pagal kodą URL adresas bus paimtas iš vartotojo ir lyginamas su kitomis eilutėmis naudojant lygų (==) operatorių. Jei įvesties vertė sutampa su bet kuria „jei“ sąlygos eilute, tada konkretus pranešimas bus išspausdintas; priešingu atveju bus rodomas pranešimas „kita“.



// Įtraukti reikiamą biblioteką

#įtraukti

usingnamespace std;

intmain() {
// Deklaruoti eilutės kintamąjį
eilutė url_addr;
// Paimkite URL adresą iš vartotojo
kainaurl_addr;
// Palyginkite įvesties vertę su kita eilute, naudodami lygiavertį operatorių
jei(url_addr== „Google com“)
kaina<<'Tai yra paieškos variklio svetainė.'<<endl;
elseif(url_addr== 'jooble.org')
kaina<<'Tai yra darbo paieškos svetainė.'<<endl;
elseif(url_addr== 'linuxhint.com')
kaina<<'Tai tinklaraščio svetainė.'<<endl;
Kitas
kaina<<„Informacija apie šią svetainę nėra pridėta.“<<endl;

grąža0;
}

Išėjimas:



Įvykdęs kodą, jei vartotojas įvedė „ linuxhint.com „Kaip įvestis bus grąžinta trečioji sąlyga„ jei “ Tiesa, ir pasirodys toks išėjimas.





Palyginimo () funkcijos naudojimas eilutei palyginti:

Funkcija palyginti () lygina dvi eilutes ir grąžina 0 arba 1 arba -1, remdamasi lyginimo rezultatu. Grįžtamųjų verčių reikšmė pateikta žemiau.



  • Funkcija grąžins 0, kai abi lyginamosios eilutės yra lygios.
  • Funkcija grąžins 1, kai pirmoji eilutė bus didesnė už antrąją.
  • Funkcija grąžins -1, kai pirmoji eilutė bus mažesnė už antrąją.

Sintaksė:

tarpteilutė1.palyginti(eilutė2)

Sukurkite C ++ failą su šiuo kodu, kad palygintumėte dvi eilutės reikšmes su dviem įvesties vertėmis, naudodami funkciją palyginti (). Bet kurio vartotojo autentifikavimą galima patikrinti palyginus vartotojų pateiktas vertes su autentifikuoto vartotojo reikšmėmis. Šis autentifikavimo procesas buvo įgyvendintas toliau nurodytu kodu. Čia galiojantis el. Pašto adresas ir slaptažodis buvo išsaugoti dviejuose eilutės kintamuosiuose. Be to, šios vertės buvo lyginamos su el. Pašto adresu ir slaptažodžiu, paimtu iš naudotojo palyginti () funkcija. Logiška IR operatorius buvo naudojamas kode, kad autentifikuotų vartotoją. Sėkmės pranešimas bus išspausdintas, jei abi palyginimo () funkcijos grąžins „True“. Priešingu atveju pranešimas apie gedimą bus išspausdintas.

// Įtraukti reikiamą biblioteką

#įtraukti

usingnamespace std;

intmain() {

// Inicijuokite du eilutės kintamuosius
eilutės el('[apsaugotas el. paštas]');
eilutės slaptažodį('linuxhint');
// Deklaruoti du eilutės kintamuosius
eilutė user_email;
eilutė user_password;

// Paimkite vartotojo el. Pašto adresą
kainauser_email;

// Paimkite slaptažodį iš vartotojo
kainauser_password;

// Patikrinkite vartotojo vardą ir slaptažodį, ar jie galioja arba yra neteisingi
jei (user_email.palyginti(paštą) == 0&&user_password.palyginti(Slaptažodis) == 0 )
kaina<<„Autentifikavimas sėkmingas“.<<endl;
Kitas
kaina<<„El. Pašto adresas arba slaptažodis neteisingas“.<<endl;

grąža0;
}

Išėjimas:

Įvykdęs kodą, jei vartotojas įvedė „ [apsaugotas el. paštas] „Kaip el. Pašto adresą ir“ 12345 „Kaip slaptažodis, trečioji„ jei “sąlyga bus grąžinta Netiesa, ir pasirodys toks išėjimas.

Dar kartą įvykdęs kodą, jei vartotojas įvedė „ [apsaugotas el. paštas] „Kaip el. Pašto adresą ir“ linuxhint „Kaip slaptažodis, trečioji„ jei “sąlyga bus grąžinta Tiesa, ir pasirodys toks išėjimas.

Funkcijos strcmp () naudojimas eilutėms palyginti:

„Strcmp“ () yra dar viena funkcija, skirta C ++ eilutėms palyginti. Pateikiama tiesa, jei abi lyginamosios eilutės yra lygios. Šios funkcijos įvesties parametrai skiriasi nuo palyginimo () funkcijos. Palyginimo funkcija kaip parametrą naudoja eilutės reikšmę, o funkcija strcmp () - char masyvą kaip parametrą. Šios funkcijos sintaksė pateikta žemiau.

Sintaksė:

tarpt strcmp ( konst anglis *str1, konst anglis *str2);

Sukurkite C ++ failą su šiuo kodu, kad palygintumėte dvi eilutes naudodami funkciją strcmp (). Kode buvo deklaruoti du simbolių masyvai iš 100 elementų, kad būtų saugomos vartotojų paimtos eilutės vertės. The getline () funkcija naudojama vartotojo įvesties saugojimui į char masyvo kintamuosius. Toliau, strcmp () Ši funkcija naudojama patikrinti, ar įvesties vertės yra lygios, ar ne. Jei funkcija grįžta Tiesa, tada bus išspausdintas sėkmės pranešimas; priešingu atveju pranešimas apie gedimą bus išspausdintas,

// Įtraukti reikiamas bibliotekas

#įtraukti

#įtraukti

usingnamespace std;

intmain() {
// Delare du eilutės kintamieji
anglischrData1[100],chrData2[100];

// Paimkite pirmuosius eilutės duomenis
kaina<<'Įveskite pirmąją eilutę:';
džinas.getline(chrData1, 100);
// Paimkite antrosios eilutės duomenis
kaina<<'Įveskite antrąją eilutę:';
džinas.getline(chrData2, 100);

jei ( strcmp (chrData1,chrData2)==0)
printf ('Stygos lygios n');
Kitas
printf („Stygos nėra lygios n');

grąža0;
}

Išėjimas:

Įvykdžius kodą, eilutės reikšmė „ Sveiki “Yra nurodytas abiem įvesties reikšmėms, ir pasirodys toks išėjimas.

Išvada:

Šioje pamokoje buvo parodyti trys būdai, kaip palyginti eilutes C ++, naudojant tris paprastus pavyzdžius. Šioje pamokoje aprašytas ir palyginimo operatoriaus naudojimas, ir integruotos stygų lygybės tikrinimo funkcijos, padedančios naujiems C ++ programuotojams.