Как да сравним низ в C ++

How Compare String C



Сравняването на низове е много често срещана задача за всеки език за програмиране. Използва се главно за валидиране на данните, като например проверка на потребителското име и паролата на информацията за вход. Сравнението на низове може да се извърши с помощта на оператор за сравнение или с помощта на вградени функции. Две функции за сравнение на низове, използвани в C ++ са, strcmp () и сравни () . The strcmp () е библиотечна функция на C за сравнение на два низа. C ompare () е вградена функция на C ++ за сравняване на два низа. Начините за сравняване на низове с помощта на оператори и функции за сравнение са обяснени в този урок.

Предпоставка:

Преди да проверите примерите на този урок, трябва да проверите дали компилаторът g ++ е инсталиран или не в системата. Ако използвате Visual Studio Code, инсталирайте необходимите разширения, за да компилирате C ++ изходния код, за да създадете изпълнимия код. Тук приложението Visual Studio Code е използвано за компилиране и изпълнение на C ++ кода.







Използване на сравнителен оператор за сравнение на низ:

Най -често срещаният начин за сравняване на низове в C ++ е използването на оператора за сравнение. Това са равни (==), а не равни (! =) Оператори. Създайте C ++ файл със следния код, за да сравните две низови стойности с помощта на оператора за сравнение. Според кода, URL адресът ще бъде взет от потребителя и сравнен с други низове с помощта на равен (==) оператор. Ако входната стойност съвпада с който и да е низ от условието „ако“, тогава конкретното съобщение ще бъде отпечатано; в противен случай ще се покаже съобщението на частта „else“.



// Включва необходимата библиотека

#включва

usingnamespace std;

intmain() {
// Деклариране на низова променлива
низ url_addr;
// Вземете url адрес от потребителя
ценаurl_addr;
// Сравнете входната стойност с друг низ, използвайки еквивалентен оператор
ако(url_addr== „Google com“)
цена<<'Това е уебсайт за търсачки.'<<endl;
иначе(url_addr== 'jooble.org')
цена<<„Това е уебсайт за търсене на работа.“<<endl;
иначе(url_addr== 'linuxhint.com')
цена<<'Това е уебсайт за блог.'<<endl;
иначе
цена<<„Не се добавя информация за този сайт.“<<endl;

връщане0;
}

Изход:



След изпълнение на кода, ако потребителят е въвел „ linuxhint.com „Като вход, третото условие„ ако “ще бъде върнато Вярно, и ще се появи следният изход.





Използване на функцията compare () за сравнение на низ:

Функцията compare () сравнява два низа и връща 0 или 1 или -1 въз основа на съвпадащия резултат от сравнението. Значението на връщаните стойности е дадено по -долу.



  • Функцията ще върне 0, когато и двата сравняващи низа са равни.
  • Функцията ще върне 1, когато първият низ е по -голям от втория низ.
  • Функцията ще върне -1, когато първият низ е по -малък от втория низ.

Синтаксис:

intниз1.сравни(низ2)

Създайте C ++ файл със следния код, за да сравните две низови стойности с две входни стойности, като използвате функцията compare (). Удостоверяването на всеки потребител може да бъде проверено чрез сравняване на подадените от потребителите стойности със стойностите на удостоверения потребител. Този процес на удостоверяване е реализиран в следния код. Валидният имейл адрес и парола са съхранени в две низови променливи тук. След това тези стойности са сравнени с имейл адреса и паролата, взети от потребителя, който използва сравни () функция. Логичното И оператор е бил използван в кода за удостоверяване на потребителя. Съобщението за успех ще бъде отпечатано, ако и двете функции compare () върнат True. В противен случай съобщението за грешка ще бъде отпечатано.

// Включва необходимата библиотека

#включва

usingnamespace std;

intmain() {

// Инициализира две низови променливи
низов имейл('[защитен имейл]');
парола за низ('linuxhint');
// Декларираме две низови променливи
низ user_email;
низ user_password;

// Вземете имейл адреса от потребителя
ценаuser_email;

// Вземете паролата от потребителя
ценапотребителска парола;

// Проверете потребителското име и паролата са валидни или невалидни
ако (user_email.сравни(електронна поща) == 0&&потребителска парола.сравни(парола) == 0 )
цена<<„Удостоверяването е успешно.“<<endl;
иначе
цена<<„Имейлът или паролата са невалидни.“<<endl;

връщане0;
}

Изход:

След изпълнение на кода, ако потребителят е въвел „ [защитен имейл] „Като имейл адрес и“ 12345 „Като парола, третото условие„ ако “ще бъде върнато Невярно, и ще се появи следният изход.

След повторно изпълнение на кода, ако потребителят е въвел „ [защитен имейл] „Като имейл адрес и“ linuxhint „Като парола, третото условие„ ако “ще бъде върнато Вярно, и ще се появи следният изход.

Използване на функцията strcmp () за сравнение на низ:

Strcmp () е друга функция за сравняване на низове в C ++. Връща true, ако и двата сравняващи низа са равни. Входните параметри, взети от тази функция, са различни от функцията compare (). Функцията за сравнение приема низова стойност като параметър, а функцията strcmp () приема масива char като параметър. Синтаксисът на тази функция е даден по -долу.

Синтаксис:

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

Създайте C ++ файл със следния код, за да сравните два низа с помощта на функцията strcmp (). Два кода от 100 елемента са декларирани в кода за съхраняване на стойностите на низовете, взети от потребителите. The getline () функцията се използва за съхраняване на въведеното от потребителя в променливите на масива char. След това, strcmp () функцията е използвала, за да провери дали входните стойности са равни или не. Ако функцията се върне Вярно, след това съобщението за успех ще бъде отпечатано; в противен случай съобщението за грешка ще бъде отпечатано,

// Включете необходимите библиотеки

#включва

#включва

usingnamespace std;

intmain() {
// Отлагане на две низови променливи
charchrData1[100],chrData2[100];

// Вземете данните от първия низ
цена<<'Въведете първия низ:';
джин.getline(chrData1, 100);
// Вземете втория низ данни
цена<<'Въведете втория низ:';
джин.getline(chrData2, 100);

ако ( strcmp (chrData1,chrData2)==0)
printf („Низовете са равнин');
иначе
printf („Низовете не са равнин');

връщане0;
}

Изход:

След изпълнение на кода стойността на низа „ Здравейте „Е дадено за двете входни стойности и ще се появи следният изход.

Заключение:

В този урок са показани три начина за сравняване на низове в C ++ чрез три прости примера. Използването на оператора за сравнение и вградените функции за проверка на равенството на низовете са описани в този урок, за да помогнат на новите C ++ програмисти.