C++ Проверить, равна ли строка другой строке

Две строки считаются равными, если они имеют одинаковое значение на уровне символов. Используя C++, мы можем проверить, равны ли две строки.

Чтобы проверить, равны ли две строки, вы можете использовать оператор сравнения Equal To == или функцию compare() класса string.

В этом руководстве мы рассмотрим каждый из этих процессов с подробными примерами программ на C++.

C++ Проверка равенства строк с помощью оператора Equal To

Равно ==  это оператор сравнения, с помощью которого мы можем сравнить две строки и определить, равны ли они.

Если две строки равны, оператор равенства возвращает значение true. В противном случае оператор возвращает false.

В следующих двух примерах программы мы инициализируем две строки некоторыми значениями и проверяем, равны ли эти две строки, используя оператор равенства.

Сначала возьмем две строки с разными значениями.

Программа С++

 #include 
использование пространства имен std;
интервал основной () {
   строка str1 = "привет";
   строка str2 = "привет";
   если (строка1 == строка2) {
      cout << "Две строки равны.";
   } еще {
      cout << "Две строки не равны.";
   }
} 

Вывод

 Две строки не равны. 

Поскольку две строки не равны, str1 == str2  возвратило ложь. Итак, блок else выполняется.

Теперь давайте зададим одинаковые значения для обеих строк и проверим вывод.

Программа C++

 #include 
использование пространства имен std;
интервал основной () {
   строка str1 = "привет";
   строка str2 = "привет";
   если (строка1 == строка2) {
      cout << "Две строки равны.";
   } еще {
      cout << "Две строки не равны.";
   }
} 

Вывод

 Две строки равны. 

Поскольку две строки имеют одинаковое значение, str1 == str2 вернуло true и блок if был выполнен.

C++ Проверка равенства строк с помощью функции compare()

compare() — это функция в классе строк. Функция compare() может быть вызвана для строки и принимает другую строку в качестве аргумента. Функция compare() сравнивает эту строку со строкой аргумента.

Если обе строки равны, compare() возвращает целочисленное значение, равное нулю. В противном случае он возвращает ненулевое значение, положительное или отрицательное, в зависимости от того, что эта строка больше или меньше строки аргумента соответственно.

Ниже приведен синтаксис функции compare().

 str1.compare(str2) 

, где str1 и str2 — строки.

В следующих двух примерах программ мы инициализируем две строки некоторыми значениями и проверяем, равны ли эти две строки, используя функцию compare().

Сначала возьмем две строки с разными значениями.

Программа C++

 #include 
использование пространства имен std;
интервал основной () {
   строка str1 = "привет";
   строка str2 = "привет";
   если (str1. compare(str2) == 0) {
      cout << "Две строки равны.";
   } еще {
      cout << "Две строки не равны.";
   }
} 

Вывод

 Две строки не равны. 

Поскольку две строки не равны, str1.compare(str2)  вернуло ненулевое значение. Итак, блок else выполняется.

Теперь давайте зададим одинаковые значения для обеих строк и проверим вывод.

Программа C++

 #include 
использование пространства имен std;
интервал основной () {
   строка str1 = "привет";
   строка str2 = "привет";
   если (str1.compare(str2) == 0) {
      cout << "Две строки равны.";
   } еще {
      cout << "Две строки не равны.";
   }
} 

Вывод

 Две строки равны. 

Поскольку две строки имеют одинаковое значение, str1.compare(str2) возвращает значение true и выполняется блок if.

Заключение

В этом учебнике по C++ мы узнали, как проверить, равны или нет две строки, используя оператор присваивания равенства и функцию compare().