Сравнение строк — очень распространенная задача для любого языка программирования. Он в основном используется для проверки данных, например для проверки имени пользователя и пароля для входа в систему. Сравнение строк можно выполнить с помощью оператора сравнения или встроенных функций. В 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, и появится следующий результат.
Использование функции 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 () принимает массив символов в качестве параметра. Синтаксис этой функции приведен ниже.
Синтаксис:
Создайте файл 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, и появляется следующий результат.
Заключение
В этом руководстве на трех простых примерах были показаны три способа сравнения строк в C ++. Как использование оператора сравнения, так и встроенные функции для проверки равенства строк были описаны в этом руководстве, чтобы помочь новым программистам на C ++.