Как проверять на равенство строк в C++?
Часто при работе с текстовыми данными в C++ требуется проверить, равны ли две строки. Существует несколько способов сравнения строк на равенство в C++, и в этой статье мы рассмотрим некоторые из них.
1. Оператор "=="
Самый простой способ проверить, равны ли две строки, - это использовать оператор "==".
#include <iostream>
#include <string>
int main() {
std::string str1 = "Hello";
std::string str2 = "World";
if (str1 == str2) {
std::cout << "Строки равны" << std::endl;
} else {
std::cout << "Строки не равны" << std::endl;
}
return 0;
}
Оператор "==" сравнивает содержимое строк: если они идентичны, он возвращает "true", в противном случае - "false". В этом примере строки "Hello" и "World" не равны, поэтому программа выведет "Строки не равны".
2. Функция compare()
Другой способ сравнить две строки на равенство - это использовать функцию compare().
#include <iostream>
#include <string>
int main() {
std::string str1 = "Hello";
std::string str2 = "World";
if (str1.compare(str2) == 0) {
std::cout << "Строки равны" << std::endl;
} else {
std::cout << "Строки не равны" << std::endl;
}
return 0;
}
Функция compare() возвращает 0, если строки равны, и отрицательное или положительное значение, если строки отличаются. В этом примере строки "Hello" и "World" не равны, поэтому программа выведет "Строки не равны".
3. Функция std::equal()
Третий способ, который можно использовать для проверки на равенство, - это функция std::equal().
#include <iostream>
#include <string>
#include <algorithm>
int main() {
std::string str1 = "Hello";
std::string str2 = "World";
if (std::equal(str1.begin(), str1.end(), str2.begin())) {
std::cout << "Строки равны" << std::endl;
} else {
std::cout << "Строки не равны" << std::endl;
}
return 0;
}
Функция std::equal() сравнивает элементы двух заданных диапазонов. В этом примере она сравнивает каждый символ строки "Hello" с каждым символом строки "World". Поскольку строки не равны, программа выведет "Строки не равны". Обратите внимание, что для использования этой функции вам понадобится включить заголовочный файл <algorithm>.
Заключение
В C++ существуют различные способы проверки строк на равенство. В этой статье мы рассмотрели три наиболее распространенных способа: использование оператора "==", функции compare() и функции std::equal(). Вы можете выбрать подходящий метод в зависимости от своих предпочтений и особенностей вашего кода.