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().