Сравнение строк
Часть раздела Основы путешествия по C++ на Coddy — урок 22 из 74.
В C++ сравнение строк можно выполнить несколькими способами. Поскольку std::string является классом, он имеет перегруженные операторы, которые делают сравнение строк интуитивно понятным и простым.
Самый распространенный способ сравнения строк — использование операторов сравнения (==, !=, <, >, <=, >=):
string str1 = "hello";
string str2 = "hello";
string str3 = "Hello";
bool result1 = (str1 == str2); // true
bool result2 = (str1 == str3); // false (чувствительно к регистру)
bool result3 = (str1 != str3); // trueВы также можете использовать метод compare(), который возвращает 0, если строки равны, отрицательное целое число, если первая строка лексикографически меньше, и положительное целое число, если она больше. Обратите внимание, что точное значение зависит от реализации — оно не обязательно равно -1 или 1:
string str1 = "a";
string str2 = "b";
string str3 = "c";
cout << str2.compare(str1) << endl;
// Positive (b comes after a)
cout << str2.compare(str3) << endl;
// Negative (b comes before c)
cout << str2.compare(str2) << endl;
// 0 (equal strings)Шпаргалка
В C++ вы можете сравнивать строки, используя операторы сравнения или метод compare().
Использование операторов сравнения:
string str1 = "hello";
string str2 = "hello";
string str3 = "Hello";
bool result1 = (str1 == str2); // true
bool result2 = (str1 == str3); // false (case-sensitive)
bool result3 = (str1 != str3); // trueИспользование метода compare():
Возвращает 0, если строки равны, <0, если первая строка лексикографически меньше, и >0, если больше:
string str1 = "a";
string str2 = "b";
string str3 = "c";
cout << str2.compare(str1) << endl; // Positive (b comes after a)
cout << str2.compare(str3) << endl; // Negative (b comes before c)
cout << str2.compare(str2) << endl; // 0 (equal strings)Попробуйте сами
В этом уроке нет задания по программированию.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияИнкремент и декрементПостфиксный инкремент и декрементСокращенные арифметические операцииОператоры сравненияСравнение строк7Основы ввода-вывода
Оператор coutОператор cinВвод строкПовторение — До 120Повторение — Истина или ложь3Переменные. Часть 2
Объявление типовСоглашения об именованииПовторение: инициализация переменныхПриведение типов. Часть 1Приведение типов. Часть 26Принятие решений
Оператор ifКонструкция if - elseОператор switchУсловный операторПовторение: if - elseВложенный if - else