Menu
CoddyTech

Сравнение строк

Часть раздела Основы путешествия по 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; 
// Положительное (b идёт после a)

cout << str2.compare(str3) << endl;
// Отрицательное (b идёт перед c)

cout << str2.compare(str2) << endl;
// 0 (строки равны)

Попробуйте сами

В этом уроке нет задания по программированию.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Онлайн-компилятор C++