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

в качестве входных данных, третье условие «if» будет возвращено True Программирование и разработка

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

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

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

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

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

//Include necessary library

#include<iostream>

usingnamespace std;

intmain() {
// Declare a string variable
string url_addr;
// Take a url address from the user
cout<>url_addr;
// Compare the input value with another string using equivalent operator
if(url_addr == «google.com»)
cout<<«It is a search engine wensite.»<<endl;
elseif(url_addr == «jooble.org»)
cout<<«It is a job searching website.»<<endl;
elseif(url_addr == «linuxhint.com»)
cout<<«It is a blog website.»<<endl;
else
cout<<«No information is added for this site.»<<endl;

return0;
}

Выход:

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

в качестве входных данных, третье условие «if» будет возвращено True

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

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

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

Синтаксис:

int string1.compare(string2)

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

//Include necessary library

#include<iostream>

usingnamespace std;

intmain() {

//Initialialize two string variables
string email(«admin@example.com»);
string password(«linuxhint»);
//Declare two string variables
string user_email;
string user_password;

//Take the email address from the user
cout<>user_email;

//Take the password from the user
cout<>user_password;

//Check the username ans the password are valid or invalid
if (user_email.compare(email) == 0&&user_password.compare(password) == 0 )
cout<<«Authentication Successful.»<<endl;
else
cout<<«Email or password is invalid.»<<endl;

return0;
}

Выход:

После выполнения кода, если пользователь ввел » fahmida@gmail.com » в качестве адреса электронной почты и » 12345 ″ в качестве пароля, третье условие «если» будет возвращено как ложное, и появится следующий результат.

После выполнения кода, если пользователь ввел

После повторного выполнения кода, если пользователь ввел » admin@example.com » в качестве адреса электронной почты и » linuxhint » в качестве пароля, третье условие «if» будет возвращено True, и появится следующий результат.

После повторного выполнения кода, если пользователь ввел

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

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

Синтаксис:

int strcmp ( const char * str1, const char * str2 );

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

//Include necessary libraries

#include <cstring>

#include <iostream>

usingnamespace std;

intmain() {
//Delare two string variables
char chrData1[100], chrData2[100];

//Take the first string data
cout<<«Enter the first string:»;
cin.getline(chrData1, 100);
//Take the second string data
cout<<«Enter the second string:»;
cin.getline(chrData2, 100);

if (strcmp(chrData1, chrData2)==0)
printf(«The strings are equal\n«);
else
printf(«The strings are not equal\n«);

return0;
}

Выход:

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

После выполнения кода для обоих входных значений дается строковое значение hello

Заключение

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

Читайте также:  Как найти последнее вхождение строки в файловом Linux?
Оцените статью
bestprogrammer.ru
Добавить комментарий