Jak porównać ciąg w C ++

Jak porównać ciąg w C ++
Porównanie stringów jest bardzo powszechnym zadaniem dla każdego języka programowania. Służy głównie do sprawdzania poprawności danych, takich jak sprawdzanie nazwy użytkownika i hasła informacji o logowaniu. Porównanie ciągów można wykonać za pomocą operatora porównawczego lub za pomocą wbudowanych funkcji. Dwie funkcje porównywania ciągów używane w C ++ to, strcmp () I porównywać(). strcmp () jest funkcją biblioteki C do porównania dwóch ciągów. COMPARE () to wbudowana funkcja C ++ do porównania dwóch strun. W tym samouczku wyjaśniono sposoby porównywania ciągów za pomocą operatorów porównawczych i funkcji.

Warunek wstępny:

Przed sprawdzeniem przykładów tego samouczka musisz sprawdzić, czy kompilator G ++ jest zainstalowany lub nie w systemie. Jeśli używasz kodu Visual Studio, zainstaluj niezbędne rozszerzenia, aby skompilować kod źródłowy C ++, aby utworzyć kod wykonywalny. Tutaj aplikacja kodu Visual Studio została użyta do kompilacji i wykonania kodu C ++.

Korzystanie z operatora porównawczego do porównania ciągów:

Najczęstszym sposobem porównywania ciągów w C ++ jest użycie operatora porównawczego. Są one równe (==) i nie są równe (!=) Operatorzy. Utwórz plik C ++ z następującym kodem, aby porównać dwie wartości łańcucha za pomocą operatora porównawczego. Zgodnie z kodem adres URL zostanie pobrany od użytkownika i porównany z innymi strinami za pomocą operatora równego (==). Jeśli wartość wejściowa jest zgodna z dowolnym ciągiem warunku „jeśli”, wówczas konkretny komunikat zostanie wydrukowany; W przeciwnym razie zostanie wyświetlona przesłanie części „else”.

#włączać
za pomocą przestrzeni nazw Std;
int main ()
// deklaruj zmienną ciągu
String url_addr;
// weź adres URL od użytkownika
Cout<<"Enter the URL Address: ";
cin >> url_addr;
// Porównaj wartość wejściową z innym ciągiem za pomocą równoważnego operatora
if (url_addr == "Google.com ”)
Cout<<"It is a search engine wensite."<inaczej if (url_addr == "jooble.org ”)
Cout<<"It is a job searching website."<w przeciwnym razie if (url_addr == "Linuxhint.com ”)
Cout<<"It is a blog website."<w przeciwnym razie
Cout<<"No information is added for this site."<powrót 0;

Wyjście:

Po wykonaniu kodu, jeśli użytkownik wpisałLinuxhint.com„Jako dane wejściowe, trzeci„ jeśli ”zostanie zwrócony PRAWDA, i pojawi się następujące dane wyjściowe.

Za pomocą funkcji Compar () do porównania ciągów:

Funkcja Porównaj () porównuje dwa ciągniki i zwraca 0 lub 1 lub -1 na podstawie dopasowania wyniku porównania. Znaczenie wartości powrotnych podano poniżej.

  • Funkcja zwróci 0, gdy oba porównywanie ciągów jest równe.
  • Funkcja zwróci 1, gdy pierwszy ciąg jest większy niż drugi ciąg.
  • Funkcja zwróci -1, gdy pierwszy ciąg jest mniejszy niż drugi ciąg.

Składnia:

int string1.Porównaj (String2)

Utwórz plik C ++ z następującym kodem, aby porównać dwie wartości łańcucha z dwoma wartościami wejściowymi za pomocą funkcji Compar (). Uwierzytelnianie dowolnego użytkownika można sprawdzić, porównując wartości przesłane przez użytkowników z wartościami uwierzytelnionego użytkownika. Ten proces uwierzytelniania został zaimplementowany w następującym kodzie. Prawidłowy adres e -mail i hasło zostały zapisane w dwóch zmiennych ciągu. Następnie wartości te porównały z adresem e -mail i hasłem pobranym od użytkownika za pomocą użytkownika porównywać () funkcjonować. Logiczny I Operator został użyty w kodzie do uwierzytelnienia użytkownika. Komunikat o sukcesie zostanie wydrukowany, jeśli obie funkcje Compare () zwrócą true. W przeciwnym razie komunikat o awarii zostanie wydrukowany.

#włączać
za pomocą przestrzeni nazw Std;
int main ()
// Inicjaryzację dwóch zmiennych ciągów
String e -mail ("admin@przykład.com ”);
String hasło („Linuxhint”);
// deklaruj dwie zmienne ciągów
String User_email;
String user_password;
// weź adres e -mail od użytkownika
Cout<<"Enter your email address:";
cin >> user_email;
// weź hasło od użytkownika
Cout<<"Enter your password:";
cin >> user_password;
// Sprawdź nazwę użytkownika i hasło jest prawidłowe lub nieprawidłowe
if (user_email.Porównaj (e -mail) == 0 && user_password.Porównaj (hasło) == 0)
Cout<<"Authentication Successful."<w przeciwnym razie
Cout<<"Email or password is invalid."<powrót 0;

Wyjście:

Po wykonaniu kodu, jeśli użytkownik wpisał[email protected]„Jako adres e -mail i”12345„Jako hasło trzeci warunek„ jeśli ”zostanie zwrócony FAŁSZ, i pojawi się następujące dane wyjściowe.

Po ponownym wykonaniu kodu, jeśli użytkownik wpisałPrzykład [email protected]„Jako adres e -mail i”Linuxhint„Jako hasło trzeci warunek„ jeśli ”zostanie zwrócony PRAWDA, i pojawi się następujące dane wyjściowe.

Za pomocą funkcji strcmp () do porównania ciągów:

Strcmp () to kolejna funkcja do porównania ciągów w c++. Zwraca prawdę, jeśli oba poruszania są równe. Parametry wejściowe pobrane przez tę funkcję różnią się od funkcji Compar (). Funkcja porównywania ma wartość ciągu jako parametr, a funkcja strcmp () bierze tablicę char Parametr. Składnia tej funkcji podano poniżej.

Składnia:

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

Utwórz plik C ++ z następującym kodem, aby porównać dwa ciągi za pomocą funkcji strcmp (). W kodzie zadeklarowano dwie tablice znaków 100 elementów w celu przechowywania wartości ciągów pobranych przez użytkowników. getline () Funkcja służy do przechowywania danych wejściowych użytkownika do zmiennych tablicy char. Następnie strcmp () funkcja używana do sprawdzania wartości wejściowych są równe lub nie. Jeśli funkcja zwraca PRAWDA, Wtedy przesłanie sukcesu zostanie wydrukowane; W przeciwnym razie komunikat o awarii zostanie wydrukowany,

#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
// DeLare dwie zmienne łańcuchowe
char chrdata1 [100], chrdata2 [100];
// weź pierwsze dane ciągów
Cout<<"Enter the first string:";
Cin.getline (chrdata1, 100);
// weź drugie dane łańcuchowe
Cout<<"Enter the second string:";
Cin.getline (chrdata2, 100);
if (strcmp (chrdata1, chrdata2) == 0)
printf („ciągi są równe \ n”);
w przeciwnym razie
printf („ciągi nie są równe \ n”);
powrót 0;

Wyjście:

Po wykonaniu kodu wartość ciągu ”Witam„Podano dla obu wartości wejściowych, a pojawi się następujące dane wyjściowe.

Wniosek:

W tym samouczku pokazano trzy sposoby porównywania ciągów w C ++ za pomocą trzech prostych przykładów. Zarówno zastosowania operatora porównawczego, jak i wbudowane funkcje do sprawdzania równości strun zostały opisane w tym samouczku, aby pomóc nowym programistom C ++.