Paano ihambing ang string sa C ++

How Compare String C



Ang paghahambing ng mga string ay isang pangkaraniwang gawain para sa anumang wika ng programa. Pangunahin itong ginagamit para sa pagpapatunay ng data, tulad ng pagsuri sa username at password ng impormasyon sa pag-login. Ang paghahambing ng string ay maaaring gawin sa pamamagitan ng paggamit ng isang operator ng paghahambing o paggamit ng mga built-in na pag-andar. Dalawang pag-andar sa paghahambing ng string na ginamit sa C ++ ay, strcmp () at ihambing () . Ang strcmp () ay isang pagpapaandar sa library ng C upang ihambing ang dalawang mga string. Ang c ompare () ay isang built-in na pag-andar ng C ++ upang ihambing ang dalawang mga string. Ang mga paraan upang ihambing ang mga string gamit ang paghahambing sa mga operator at pagpapaandar ay naipaliwanag sa tutorial na ito.

Paunang kinakailangan:

Bago suriin ang mga halimbawa ng tutorial na ito, kailangan mong suriin ang naka-install na g ++ compiler o wala sa system. Kung gumagamit ka ng Visual Studio Code, pagkatapos ay i-install ang mga kinakailangang extension upang maipon ang C ++ source code upang likhain ang maipapatupad na code. Dito, ang application ng Visual Studio Code ay ginamit upang ipagsama at maipatupad ang C ++ code.







Paggamit ng Operator ng Paghahambing upang ihambing ang string:

Ang pinakakaraniwang paraan upang ihambing ang mga string sa C ++ ay ang paggamit ng operator ng paghahambing. Ang mga ito ay pantay (==) at hindi pantay (! =) Na mga operator. Lumikha ng isang C ++ file na may sumusunod na code upang ihambing ang dalawang halaga ng string gamit ang operator ng paghahambing. Ayon sa code, isang URL address ang kukuha mula sa gumagamit at ihinahambing sa iba pang mga string gamit ang isang pantay (==) na operator. Kung ang halaga ng pag-input ay tumutugma sa anumang string ng kundisyon na ‘if’, pagkatapos maii-print ang tukoy na mensahe; kung hindi man, ang mensahe ng bahagi na 'iba pa' ay ipapakita.



// Isama ang kinakailangang library

# isama

usingnamespace std;

intmain() {
// Ideklara ang isang variable ng string
string url_addr;
// Kumuha ng isang url address mula sa gumagamit
gastosurl_addr;
// Ihambing ang halaga ng pag-input sa isa pang string gamit ang katumbas na operator
kung(url_addr== 'Google com')
gastos<<'Ito ay isang search engine wensite.'<<endl;
kung hindi man(url_addr== 'jooble.org')
gastos<<'Ito ay isang website sa paghahanap ng trabaho.'<<endl;
kung hindi man(url_addr== 'linuxhint.com')
gastos<<'Ito ay isang website ng blog.'<<endl;
iba pa
gastos<<'Walang idinagdag na impormasyon para sa site na ito.'<<endl;

pagbabalik0;
}

Output:



Matapos maipatupad ang code, kung nag-type ang gumagamit ng ‘ linuxhint.com ‘Bilang input, ibabalik ang pangatlong kondisyon na‘ if ’ Totoo, at lilitaw ang sumusunod na output.





Paggamit ng function na ihambing () upang ihambing ang string:

Ang function na ihambing () ay naghahambing ng dalawang mga string at nagbabalik ng 0 o 1 o -1 batay sa tumutugma na resulta ng paghahambing. Ang kahulugan ng mga halaga ng pagbabalik ay ibinibigay sa ibaba.



  • Ibabalik ng pagpapaandar ang 0 kapag pareho ang paghahambing ng mga string.
  • Ibabalik ng pagpapaandar ang 1 kapag ang unang string ay mas malaki kaysa sa pangalawang string.
  • Ibabalik ang pagpapaandar -1 kapag ang unang string ay mas mababa sa ikalawang string.

Syntax:

intstring1.ihambing(string2)

Lumikha ng isang C ++ file na may sumusunod na code upang ihambing ang dalawang halaga ng string na may dalawang halaga ng pag-input gamit ang function na ihambing (). Ang pagpapatotoo ng anumang gumagamit ay maaaring suriin sa pamamagitan ng paghahambing ng mga halagang isinumite ng mga gumagamit sa mga halaga ng napatunayan na gumagamit. Ang proseso ng pagpapatotoo na ito ay naipatupad sa sumusunod na code. Ang wastong email address at password ay naimbak sa dalawang mga variable ng string dito. Susunod, ang mga halagang ito ay inihambing sa email address at password na kinuha mula sa ginagamit ng gumagamit ihambing () pagpapaandar Ang lohikal AT ginamit ang operator sa code upang patunayan ang gumagamit. Ang mensahe ng tagumpay ay mai-print kung kapwa ihinahambing () ang mga pagpapaandar na bumalik ng Totoo. Kung hindi man, mai-print ang mensahe ng kabiguan.

// Isama ang kinakailangang library

# isama

usingnamespace std;

intmain() {

// Initialize ng dalawang variable ng string
string email('[Protektado ang email]');
string password('linuxhint');
// Ideklara ang dalawang variable ng string
string user_email;
string user_password;

// Kunin ang email address mula sa gumagamit
gastosuser_email;

// Kunin ang password mula sa gumagamit
gastosuser_password;

// Check the username ans ang password ay wasto o hindi wasto
kung (user_email.ihambing(email) == 0&&user_password.ihambing(password) == 0 )
gastos<<'Matagumpay na Pagpapatotoo.'<<endl;
iba pa
gastos<<'Ang email o password ay hindi wasto.'<<endl;

pagbabalik0;
}

Output:

Matapos maipatupad ang code, kung nag-type ang gumagamit ng ‘ [protektado ng email] ‘Bilang email address at‘ 12345 ‘Bilang password, ibabalik ang pangatlong kondisyon na‘ if ’ Mali, at lilitaw ang sumusunod na output.

Matapos maipatupad muli ang code, kung nag-type ang gumagamit ng ‘ [protektado ng email] ‘Bilang email address at‘ linuxhint ‘Bilang password, ibabalik ang pangatlong kondisyon na‘ if ’ Totoo, at lilitaw ang sumusunod na output.

Paggamit ng strcmp () function upang ihambing ang string:

Ang strcmp () ay isa pang pagpapaandar upang ihambing ang mga string sa C ++. Magbabalik ito ng totoo kung kapareho ang paghahambing ng mga string. Ang mga input parameter na kinunan ng pagpapaandar na ito ay naiiba mula sa function na ihambing (). Ang function na ihambing ay tumatagal ng isang halaga ng string bilang isang parameter, at ang function na strcmp () ay tumatagal ng char array bilang isang parameter. Ang syntax ng pagpapaandar na ito ay ibinibigay sa ibaba.

Syntax:

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

Lumikha ng isang C ++ file na may sumusunod na code upang ihambing ang dalawang mga string gamit ang strcmp () function. Dalawang character arrays na 100 elemento ang idineklara sa code upang maiimbak ang mga halaga ng string na kinuha ng mga gumagamit. Ang getline () Ginagamit ang pagpapaandar upang maiimbak ang input ng gumagamit sa mga variable ng char array. Susunod, ang strcmp () Ginamit ng pagpapaandar upang suriin ang mga halaga ng pag-input ay pantay o hindi. Kung ang function ay bumalik Totoo, pagkatapos ang mensahe ng tagumpay ay mai-print; kung hindi man, ang mensahe ng pagkabigo ay mai-print,

// Isama ang mga kinakailangang aklatan

# isama

# isama

usingnamespace std;

intmain() {
// Delare two variable variable
charchrData1[100],chrData2[100];

// Kunin ang unang data ng string
gastos<<'Ipasok ang unang string:';
gin.getline(chrData1, 100);
// Kunin ang pangalawang data ng string
gastos<<'Ipasok ang pangalawang string:';
gin.getline(chrData2, 100);

kung ( strcmp (chrData1,chrData2)==0)
printf ('Ang mga string ay pantay n');
iba pa
printf ('Ang mga string ay hindi pantay n');

pagbabalik0;
}

Output:

Matapos maipatupad ang code, ang halaga ng string, ‘ Kamusta 'Ay ibinigay para sa parehong mga halaga ng pag-input, at lilitaw ang sumusunod na output.

Konklusyon:

Tatlong paraan upang ihambing ang mga string sa C ++ ay ipinakita sa tutorial na ito sa pamamagitan ng paggamit ng tatlong simpleng mga halimbawa. Ang parehong mga paggamit ng operator ng paghahambing at ang mga built-in na pag-andar para sa pagsusuri ng pagkakapantay-pantay ng mga string ay inilarawan sa tutorial na ito upang matulungan ang mga bagong programmer ng C ++.