Как сравнить строку в C ++

How Compare String C



Сравнение строк - очень распространенная задача для любого языка программирования. Он в основном используется для проверки данных, например для проверки имени пользователя и пароля для входа в систему. Сравнение строк можно выполнить с помощью оператора сравнения или встроенных функций. В C ++ используются две функции сравнения строк: strcmp () а также сравнивать() . В strcmp () - это библиотечная функция языка C для сравнения двух строк. C ompare () это встроенная функция C ++ для сравнения двух строк. В этом руководстве были объяснены способы сравнения строк с использованием операторов и функций сравнения.

Предварительные условия:

Прежде чем проверять примеры этого руководства, вы должны проверить, установлен ли компилятор g ++ в системе. Если вы используете Visual Studio Code, установите необходимые расширения для компиляции исходного кода C ++ и создания исполняемого кода. Здесь приложение Visual Studio Code было использовано для компиляции и выполнения кода C ++.







Использование оператора сравнения для сравнения строки:

Самый распространенный способ сравнения строк в C ++ - использовать оператор сравнения. Это операторы равенства (==) и не равенства (! =). Создайте файл C ++ со следующим кодом для сравнения двух строковых значений с помощью оператора сравнения. Согласно коду, URL-адрес будет взят у пользователя и сравнен с другими строками с помощью оператора равенства (==). Если входное значение совпадает с любой строкой условия «если», то будет напечатано конкретное сообщение; в противном случае будет отображаться сообщение части «else».



// Включаем необходимую библиотеку

#включают

usingnamespace std;

intmain() {
// Объявление строковой переменной
строка url_addr;
// Берем url-адрес у пользователя
Стоимостьurl_addr;
// Сравните входное значение с другой строкой, используя эквивалентный оператор
если(url_addr== 'Google com')
Стоимость<<'Это веб-сайт поисковой системы'.<<конец;
elseif(url_addr== 'jooble.org')
Стоимость<<«Это сайт поиска работы».<<конец;
elseif(url_addr== 'linuxhint.com')
Стоимость<<«Это блог-сайт».<<конец;
еще
Стоимость<<«Информация для этого сайта не добавлена».<<конец;

return0;
}

Выход:



Если после выполнения кода пользователь набрал ‘ linuxhint.com ‘В качестве входных данных будет возвращено третье условие‘ if ’ Правда, и появится следующий результат.





Использование функции compare () для сравнения строки:

Функция compare () сравнивает две строки и возвращает 0, 1 или -1 в зависимости от результата сравнения. Значение возвращаемых значений приведено ниже.



  • Функция вернет 0, если обе сравниваемые строки равны.
  • Функция вернет 1, если первая строка больше второй.
  • Функция вернет -1, если первая строка меньше второй.

Синтаксис:

intстрока1.сравнивать(строка2)

Создайте файл C ++ со следующим кодом для сравнения двух строковых значений с двумя входными значениями с помощью функции compare (). Аутентификация любого пользователя может быть проверена путем сравнения значений, представленных пользователями, со значениями аутентифицированного пользователя. Этот процесс аутентификации реализован в следующем коде. Действительный адрес электронной почты и пароль были сохранены здесь в двух строковых переменных. Затем эти значения сравниваются с адресом электронной почты и паролем, полученным от пользователя, использующего сравнивать () функция. Логический А ТАКЖЕ Оператор был использован в коде для аутентификации пользователя. Сообщение об успешном выполнении будет напечатано, если обе функции compare () вернут True. В противном случае будет напечатано сообщение об ошибке.

// Включаем необходимую библиотеку

#включают

usingnamespace std;

intmain() {

// Инициализируем две строковые переменные
строковый адрес электронной почты('[электронная почта защищена]');
строковый пароль(linuxhint);
// Объявить две строковые переменные
строка user_email;
строка user_password;

// Берем адрес электронной почты у пользователя
Стоимостьuser_email;

// Берем пароль у пользователя
Стоимостьпользовательский пароль;

// Проверяем, что имя пользователя и пароль действительны или недействительны
если (user_email.сравнивать(Эл. адрес) == 0&&пользовательский пароль.сравнивать(пароль) == 0 )
Стоимость<<«Аутентификация прошла успешно».<<конец;
еще
Стоимость<<'Электронная почта или пароль недействительны'.<<конец;

return0;
}

Выход:

Если после выполнения кода пользователь набрал ‘ [электронная почта защищена] ‘Как адрес электронной почты и‘ 12345 ‘В качестве пароля, будет возвращено третье условие‘ if ’ Ложь, и появится следующий результат.

После повторного выполнения кода, если пользователь набрал ‘ [электронная почта защищена] ‘Как адрес электронной почты и‘ linuxhint ‘В качестве пароля, будет возвращено третье условие‘ if ’ Правда, и появится следующий результат.

Использование функции strcmp () для сравнения строки:

Strcmp () - еще одна функция для сравнения строк в C ++. Он возвращает истину, если обе сравниваемые строки равны. Входные параметры, принимаемые этой функцией, отличаются от функции compare (). Функция сравнения принимает строковое значение в качестве параметра, а функция strcmp () принимает массив символов в качестве параметра. Синтаксис этой функции приведен ниже.

Синтаксис:

int strcmp ( const символ *str1, const char *ул2);

Создайте файл C ++ со следующим кодом для сравнения двух строк с помощью функции strcmp (). В коде объявлены два символьных массива из 100 элементов для хранения строковых значений, принимаемых пользователями. В getline () Функция используется для хранения пользовательского ввода в переменных массива char. Далее strcmp () функция использовалась для проверки того, что входные значения равны или нет. Если функция возвращает Правда, тогда будет напечатано сообщение об успешном выполнении; в противном случае будет напечатано сообщение об ошибке,

// Включаем необходимые библиотеки

#включают

#включают

usingnamespace std;

intmain() {
// Делаем две строковые переменные
символchrData1[100],chrData2[100];

// Принимаем данные первой строки
Стоимость<<'Введите первую строку:';
Джин.Getline(chrData1, 100);
// Принимаем данные второй строки
Стоимость<<'Введите вторую строку:';
Джин.Getline(chrData2, 100);

если ( strcmp (chrData1,chrData2)==0)
printf ('Струны равны п');
еще
printf ('Струны не равны п');

return0;
}

Выход:

После выполнения кода строковое значение ‘ Привет ‘Дано для обоих входных значений, и появится следующий вывод.

Заключение:

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