Како упоредити стринг у Ц ++

How Compare String C



Поређење низова је врло чест задатак за сваки програмски језик. Углавном се користи за проверу података, као што је провера корисничког имена и лозинке података за пријављивање. Упоређивање стрингова може се обавити помоћу оператора поређења или помоћу уграђених функција. Две функције упоређивања стрингова које се користе у Ц ++ су, стрцмп () и упоредити() . Тхе стрцмп () је библиотечка функција Ц за упоређивање два низа. Тхе ц омпаре () је уграђена функција Ц ++ за упоређивање два низа. Начини упоређивања низова помоћу оператора и функција упоређивања објашњени су у овом водичу.

Предуслов:

Пре него што проверите примере овог водича, морате да проверите да ли је компајлер г ++ инсталиран или није у систему. Ако користите Висуал Студио Цоде, инсталирајте потребна проширења за компајлирање изворног кода Ц ++ за креирање извршног кода. Овде је апликација Висуал Студио Цоде коришћена за компајлирање и извршавање кода Ц ++.







Употреба Оператора поређења за поређење низа:

Најчешћи начин упоређивања стрингова у Ц ++ је коришћење оператора поређења. Ово су једнаки (==) а не једнаки (! =) Оператори. Направите Ц ++ датотеку са следећим кодом да бисте упоредили две вредности низа помоћу оператора поређења. Према коду, УРЛ адреса ће бити преузета од корисника и упоређена са другим низовима користећи једнак (==) оператор. Ако се улазна вредност подудара са било којим низом услова „ако“, тада ће се одштампати одређена порука; у супротном ће се приказати порука дела „елсе“.



// Укључује неопходну библиотеку

#инцлуде

усингнамеспаце стд;

интмаин() {
// Проглашавамо стринг променљиву
стринг урл_аддр;
// Узети урл адресу од корисника
ценаурл_аддр;
// Упоредимо улазну вредност са другим низом користећи еквивалентни оператор
ако(урл_аддр== „Гоогле цом“)
цена<<'То је веб локација за претраживаче.'<<ендл;
елсеиф(урл_аддр== 'јообле.орг')
цена<<'То је веб страница за тражење посла.'<<ендл;
елсеиф(урл_аддр== 'линукхинт.цом')
цена<<'То је веб страница блога.'<<ендл;
елсе
цена<<'Нема информација о овој веб локацији.'<<ендл;

ретурн0;
}

Излаз:



Након извршавања кода, ако је корисник унео „ линукхинт.цом „Као улаз, трећи услов„ ако “ће бити враћен Истина, и појавиће се следећи излаз.





Употреба функције цомпаре () за упоређивање низа:

Функција цомпаре () упоређује два низа и враћа 0 или 1 или -1 на основу резултата упоређивања. Значење повратних вредности дато је у наставку.



  • Функција ће вратити 0 када су оба упоредна низа једнака.
  • Функција ће вратити 1 када је први низ већи од другог низа.
  • Функција ће вратити -1 када је први низ мањи од другог низа.

Синтакса:

интстринг1.упоредити(стринг2)

Направите Ц ++ датотеку са следећим кодом да бисте упоредили две вредности низа са две улазне вредности помоћу функције цомпаре (). Потврда идентитета сваког корисника може се проверити поређењем вредности које су доставили корисници са вредностима аутентификованог корисника. Овај процес аутентификације је имплементиран у следећем коду. Важећа адреса е -поште и лозинка су овде сачувани у две променљиве низа. Затим су ове вредности упоређене са адресом е -поште и лозинком узетом од корисника који их користи упоредити () функција. Логично И оператор је коришћен у коду за аутентификацију корисника. Порука о успеху ће се одштампати ако обе функције цомпаре () врате Труе. У супротном ће се одштампати порука о грешци.

// Укључује неопходну библиотеку

#инцлуде

усингнамеспаце стд;

интмаин() {

// Иницијализовање две стринг променљиве
стринг емаил('[заштићена е -пошта]');
лозинка за стринг('линукхинт');
// Проглашавамо две стринг променљиве
стринг усер_емаил;
стринг усер_пассворд;

// Узети адресу е -поште од корисника
ценаусер_емаил;

// Узети лозинку од корисника
ценаКорисничка лозинка;

// Проверите корисничко име и лозинку
ако (усер_емаил.упоредити(емаил) == 0&&Корисничка лозинка.упоредити(Лозинка) == 0 )
цена<<'Аутентификација је успела.'<<ендл;
елсе
цена<<'Е -пошта или лозинка су неважећи.'<<ендл;

ретурн0;
}

Излаз:

Након извршавања кода, ако је корисник унео „ [заштићена е -пошта] „Као адреса е -поште и“ 12345 „Као лозинка, трећи услов„ ако “ће бити враћен Нетачно, и појавиће се следећи излаз.

Након поновног извршавања кода, ако је корисник унео „ [заштићена е -пошта] „Као адреса е -поште и“ линукхинт „Као лозинка, трећи услов„ ако “ће бити враћен Истина, и појавиће се следећи излаз.

Употреба функције стрцмп () за поређење низа:

Стрцмп () је још једна функција за поређење стрингова у Ц ++. Враћа труе ако су оба упоредна низа једнака. Улазни параметри које ова функција узима разликују се од функције цомпаре (). Упоредна функција узима вредност параметра, а функција стрцмп () узима низ цхар као параметар. Синтакса ове функције дата је испод.

Синтакса:

инт стрцмп ( цонст цхар *стр1, цонст цхар *стр2);

Направите Ц ++ датотеку са следећим кодом да бисте упоредили два низа помоћу функције стрцмп (). Два знаковна низа од 100 елемената су декларисана у коду за складиштење вредности низа које су преузели корисници. Тхе гетлине () функција се користи за складиштење корисниковог уноса у променљиве цхар поља. Затим, стрцмп () функција се користи за проверу да ли су улазне вредности једнаке или не. Ако се функција врати Истина, тада ће се порука о успеху одштампати; у супротном ће се одштампати порука о грешци,

// Укључује неопходне библиотеке

#инцлуде

#инцлуде

усингнамеспаце стд;

интмаин() {
// Деларе две стринг променљиве
цхарцхрДата1[100],цхрДата2[100];

// Узми податке првог низа
цена<<'Унесите први низ:';
џин.гетлине(цхрДата1, 100);
// Узми податке другог низа
цена<<'Унесите други низ:';
џин.гетлине(цхрДата2, 100);

ако ( стрцмп (цхрДата1,цхрДата2)==0)
принтф ('Жице су једнаке н');
елсе
принтф ('Жице нису једнаке н');

ретурн0;
}

Излаз:

Након извршавања кода, вредност низа, „ Здраво 'Је дато за обе улазне вредности и појавиће се следећи излаз.

Закључак:

Три начина упоређивања стрингова у Ц ++ приказана су у овом водичу помоћу три једноставна примера. Употреба оператора упоређивања и уграђених функција за проверу једнакости низова описани су у овом водичу како би помогли новим Ц ++ програмерима.