Case niewrażliwy ciąg porównaj w C ++

Case niewrażliwy ciąg porównaj w C ++
Porównanie było bardzo znaną i najczęściej używaną koncepcją w wielu dziedzinach. Jeśli chodzi o języki programowania, przez większość czasu porównywaliśmy liczby. Ale tak nie jest we wszystkich językach programowania. Niektóre z języków programowania, takie jak C ++, zapewniają nam również możliwość porównania wartości typu ciągów. Można to zrobić, ignorując wrażliwość na przypadki tych strun przy użyciu wbudowanych metod. Zatem w naszym dzisiejszym artykule omówimy te metody dokonania niewrażliwego porównania w C++. Zacznijmy więc od otwarcia Ubuntu 20.04 Konsola terminalowa za pośrednictwem „Ctrl+Alt+T”.

Przykład 01: Za pomocą metody Strcasecmp

Tutaj rozpoczęliśmy nasz pierwszy przykład, tworząc plik, który musi zawierać rozszerzenie C ++. Zapytanie dotykowe zostało wykorzystane do tego konkretnego celu. Następnie użytkownik musi otworzyć nowo utworzony plik, aby dodać do niego trochę kodu. Użytkownik może korzystać z dowolnego wbudowanego edytora Ubuntu 20.04 jak edytor VIM, tekst lub nano. Tak więc korzystamy z edytora nano tutaj zgodnie z naszą łatwością i szybką edycją. Tak więc słowo kluczowe „nano” jest używane tutaj do otwarcia „obudowy.plik CC ”w edytorze Nano. Twój plik zostanie otwarty w pustym edytorze.

Rozpoczęliśmy kod C ++ z niektórymi unikalnymi i niezbędnymi plikami nagłówka. Te pliki nagłówka są zawierane za pomocą słowa kluczowego „dołącz” do znaku skrótu. Pliki nagłówka zawierają nagłówek strumienia „Input-Output”, nagłówek „String” i nagłówek „CSTRING”, aby wykorzystać metodę strcasecmp () w kodzie. Standardowa przestrzeń nazw jest niezbędna do dalszego wykorzystania klauzul COUT i CIN w kodzie. Metoda main () była w toku wraz z inicjalizacją dwóch zmiennych typu łańcucha S1 i S1, z niektórymi wartościami ciągu. Widać, że oba struny mają prawie te same wartości przy niewielkiej niewrażliwości na. Instrukcja „If” jest tutaj używana do porównania dwóch zmiennych ciągów S1 i S2.

Funkcja „strcasecmp ()” została użyta w instrukcji „If” i przyjmuje zarówno zmienne ciągów S1 i S2. Ta funkcja zignoruje ich obudowę i sprawdzi, czy oba ciągi są dopasowane, czy nie za pomocą jednego bajtu jednocześnie metodą „C_str ()”. Jeśli bajt S1 będzie pasował do tego samego bajtu String S2, powróci 0. W ostatnim, jeśli wszystkie zwrócone wyniki są równe 0, pokazuje, że ciąg S1 jest podobny do S2, ignorując ich sprawę. Dlatego oświadczenie „If” uruchomi pierwsze oświadczenie „cout” pokazujące, że oba ciągi są dopasowane. W przeciwnym razie druga część instrukcji „If” będzie wykonywana i wyświetli się, że ciągi nie są dopasowane. Klauzula powrotna po prostu zakończy metodę Main () tutaj. Nasz program został ukończony tutaj. Po prostu szybko zapiszmy go w skrócie „Ctrl+S” i zrezygnuj z „Ctrl+X”. Jest to niezbędny krok przed przejściem do fazy kompilacji i wykonania.

Teraz, gdy plik został zapisany, a my wróciliśmy do terminala, czas szybko go skompilować. Dla kompilacji dowolnego pliku C ++ w Ubuntu 20.04, potrzebujesz kompilatora „G ++”. Jeśli go nie masz, spróbuj zainstalować go z pakietem „apt”. W przeciwnym razie twój kod nie spowoduje tak, jak powinien. Więc opracowaliśmy „sprawę.plik CC ”z kompilatorem„ G ++ ”, który odniósł sukces. Następnie ostatnim krokiem było wykonanie tego skompilowanego pliku. Dokonano tego za pomocą „./A.Out ”Instrukcja. Mamy komunikat „Strings dopasowany…”, ponieważ zarówno Strings S1, jak i S2 są równe w porównaniu.

Przykład 02: Za pomocą metody strncasecmp

Weźmy kolejny podobny przykład porównywania dwóch nieczułych ciągów w C w C++. Tym razem będziemy używać metody „strncasecmp ()” zamiast podobnej funkcji „strcasecmp ()”. Oba działają dość podobnie, ale metoda „strncasecmp ()” działa nieco inaczej. Ta funkcja przyjmuje 3 argumenty, podczas gdy metoda „strcasecmp ()” bierze 2, tak jak w pierwszym przykładzie. Kod jest podobny do pierwszego przykładowego kodu z niewielką zmianą w dwóch pozycjach. Pierwsza zmiana została dokonana w wartości S2 drugiego drena, gdzie właśnie zmieniliśmy pozycję zawartości łańcucha zgodnie z naszym życzeniem. Druga zmiana została dokonana w instrukcji „If”, w której dodaliśmy trzeci parametr w metodzie funkcji „strncasecmp ()”. Ten parametr przyjmuje wartość całkowitą, aby określić liczbę znaków z obu ciągów, które mają być dopasowane lub porównywane, i.mi., Pierwsze 5. Oznacza to, że tylko pierwsze 5 znaków z obu strun zostanie porównanych, a wynik zostanie wygenerowany zgodnie z tym.

Jeśli porównanie zakończyło się sukcesem i oba struny dostały te same postacie ignorujące wrażliwość na sprawę, powróci 0, a pierwsza instrukcja Cout zostanie wykonana. W przeciwnym razie kolejna klauzula Cout zostanie wykonana. Zapiszmy po skrócie „Ctrl+S” i zrezygnuj z pliku za pomocą „Ctrl+X”, aby powrócić do terminala. Teraz nasza kolej na kompilację.

Po kompilacji polecenie wykonania pokazuje, że ciągi nie są dopasowane, ponieważ pierwsze 5 znaków obu strun jest różne.

Przykład 03: Za pomocą metody Compar ()

Miejmy naszą ostatnią, ale nie najmniejszą metodę porównania dwóch niewrażliwych na obudowy ciąży w C++. Kod został rozpoczęty z plikami nagłówka, i.mi., iostream i algorytm. Iostream jest używany do strumienia wejściowego, ale nagłówek „algorytmu” jest wykorzystywany do prawidłowego użycia metody compare () i transformacji () w kodzie. Po nagłówkach standardowa „przestrzeń nazw” jest wykorzystywana jako niezbędna do użycia klauzul „Cout” i „CIN” do wyświetlania i uzyskania danych wejściowych. Następnie rozpoczęliśmy naszą funkcję Main () typu powracania całkowitej. Inicjuje dwie zmienne typu S1 S1 i S2. Oba ciągi zawierają pewne wartości ciągów o różnej wrażliwości na przypadki, ale są podobne w znakach.

Metodę „transformuj ()” zastosowano do obu ciągów, S1 i S2, aby przekonwertować je w górną skrzynkę za pomocą funkcji „toupper ()” od początku do końca. Po przekształceniu metoda „Porównaj ()” została zastosowana w instrukcji „If”, aby sprawdzić, czy ciąg S1 jest równy S2. Jeśli porównanie każdego bajtu znaku w tym samym miejscu obu ciągów powróci 0, oznacza to, że oba są podobne. Tak więc wykona pierwsze oświadczenie „cout”, w którym stwierdza, że ​​ciągi są dopasowane. W przeciwnym razie instrukcja „cout” zostanie wykonana, co pokazuje, że ciągi nie są takie same. Kod jest tutaj ukończony.

Po kompilacji i uruchomieniu pliku kodu mamy wiadomość „Dopasowanie ciągów…”. Oba struny zmieniły się tak samo po przekształceniu w górną skrzynkę.

Wniosek:

Ten artykuł jest w najlepszym wydaniu, aby wyjaśnić niewrażliwość na sprawę Porównaj w języku C ++. Użyliśmy trzech różnych funkcji w naszych przykładach, aby osiągnąć tę funkcjonalność i.mi.strcasecmp (), strncasecmp (), transform () i compare (). Wszystkie przykłady są wdrażane na Ubuntu 20.04 SYSTEM I JEST RÓWNIEJNEGO wykonywalne w innych rozkładach Linux. Mamy nadzieję, że ten artykuł okaże się dość pomocny podczas nauki C++.