Jak wykryć, czy ciąg C++ jest pusty

Jak Wykryc Czy Ciag C Jest Pusty



W programowaniu C++ zarządzanie danymi tekstowymi i manipulowanie nimi jest podstawowym aspektem tworzenia oprogramowania. Ciągi znaków, służące jako ciągi znaków, odgrywają kluczową rolę w zarządzaniu danymi tekstowymi. Jednym z typowych scenariuszy, z którymi często spotykają się programiści, jest potrzeba ustalenia, czy ciąg C++ jest pusty. Ciąg znaków niezawierający żadnych znaków nazywany jest ciągiem pustym. Na szczęście C++ oferuje w swojej standardowej bibliotece proste metody sprawdzania, czy ciąg znaków jest pusty. W tym artykule omówiono metody i techniki używane do wykrywania, czy ciąg znaków w języku C++ jest pusty, co stanowi podstawę do obsługi i sprawdzania poprawności danych ciągu w programach.

Metoda 1: Korzystanie z funkcji członkowskiej Desert().

Jedno proste i wbudowane podejście w języku C++ umożliwiające określenie, czy ciąg znaków jest pusty, polega na użyciu funkcji członkowskiej „empty()”. Funkcja „empty()” jest częścią standardowej klasy łańcuchów C++ i zapewnia wygodny sposób sprawdzania, czy ciąg znaków nie zawiera znaków.

Oto prosty przykład ilustrujący użycie funkcji pusty():







#include
#include
za pomocą przestrzeń nazw st ;

wew główny ( ) {

ciąg pustyStr ;

Jeśli ( pustaStr. pusty ( ) ) {
cout << „Ciąg jest pusty.” << koniec ;
} w przeciwnym razie {
cout << „Ciąg nie jest pusty.” << koniec ;
}

powrót 0 ;
}

W tym fragmencie kodu C++ zaczynamy od dołączenia niezbędnych plików nagłówkowych, takich jak i , aby ułatwić odpowiednio operacje wejścia i wyjścia oraz pracę z ciągami znaków. Wewnątrz funkcji „main()” deklarujemy zmienną łańcuchową o nazwie „emptyStr”. Ten ciąg jest początkowo pusty i nie zawiera żadnych znaków. Następnie używamy funkcji członkowskiej „empty()” udostępnionej przez klasę „string” języka C++. Jak sama nazwa wskazuje, funkcja „empty()” sprawdza, czy ciąg znaków, do którego jest wywoływana, jest pusty, czy nie.



W naszym przypadku funkcję tę wywołujemy na łańcuchu „emptyStr”. Następnie używamy instrukcji warunkowej do oceny wyniku logicznego zwracanego przez funkcję „empty()”. Jeśli ciąg rzeczywiście jest pusty, nasz program wyświetli komunikat wskazujący, że ciąg jest pusty. Z drugiej strony, jeśli ciąg znaków zawiera znaki, program wyświetla komunikat informujący, że ciąg nie jest pusty.



Dane wyjściowe dostarczonego kodu C++ są następujące:





Metoda 2: Korzystanie z funkcji członkowskiej Size().

Inne podejście do wykrywania, czy ciąg znaków w C++ jest pusty, polega na wykorzystaniu funkcji członkowskiej „size()” udostępnianej przez klasę „string”. W przeciwieństwie do funkcji „empty()”, która bezpośrednio zwraca wartość logiczną wskazującą pustkę, „size()” zwraca liczbę znaków obecnych w ciągu. Aby sprawdzić, czy nie jest pusty, porównujemy wynik „size()” z zerem, ponieważ pusty ciąg ma zerowy rozmiar.



Oto przykład:

#include
#include
za pomocą przestrzeń nazw st ;

wew główny ( ) {

ciąg myEmptyString ;

Jeśli ( mójPustyString. rozmiar ( ) == 0 ) {
cout << „Podany ciąg znaków jest pusty.” << koniec ;
} w przeciwnym razie {
cout << „Podany ciąg nie jest pusty.” << koniec ;
}

powrót 0 ;
}

W tym przykładzie zaczynamy od zadeklarowania zmiennej łańcuchowej o nazwie „myEmptyString” bez jej inicjowania, pozostawiając ją domyślnie pustą. Idąc dalej, wywołujemy funkcję „size()”, aby określić rozmiar lub liczbę znaków w ciągu „myEmptyString”. Instrukcja „if” ocenia, czy rozmiar jest równy zero, co oznacza, że ​​ciąg jest pusty. Jeśli ten warunek jest spełniony, wysyłamy do konsoli komunikat informujący, że podany ciąg znaków jest pusty. I odwrotnie, jeśli rozmiar jest różny od zera, sterowanie zostanie przesunięte do bloku „else” i wyświetlony zostanie inny komunikat potwierdzający, że podany ciąg nie jest pusty.

Metoda 3: Korzystanie z porównania z pustym literałem ciągu

Dodatkowa technika sprawdzania, czy ciąg C++ jest pusty, polega na bezpośrednim porównaniu z pustym literałem ciągu. Pusty literał ciągu jest reprezentowany przez parę podwójnych cudzysłowów bez znaków pomiędzy nimi, np. „”. Możemy sprawdzić, czy ciąg zawiera dowolny znak, porównując dany ciąg z pustym literałem ciągu.

Oto przykład ilustrujący to podejście:

#include
#include
za pomocą przestrzeń nazw st ;

wew główny ( )
{
ciąg nazwy użytkownika ;

cout <> nazwa użytkownika ;

Jeśli ( nazwa użytkownika == „” )
{
cout << „Błąd: nazwa użytkownika nie może być pusta.” << koniec ;
}
w przeciwnym razie
{
cout << 'Cześć, ' << nazwa użytkownika << „! Witamy na naszej platformie.” << koniec ;
}

powrót 0 ;
}

W takim przypadku uruchamiamy aplikację, która prosi użytkownika o podanie nazwy użytkownika. Program rozpoczyna się od zadeklarowania zmiennej łańcuchowej o nazwie „nazwa użytkownika”, w której przechowywane są dane wprowadzone przez użytkownika. Następnie użytkownik zostaje poproszony o wyświetlenie komunikatu „Wprowadź swoją nazwę użytkownika:”, a wprowadzone dane są przechwytywane przy użyciu strumienia „cin”. Następnie program za pomocą instrukcji warunkowej sprawdza, czy wprowadzona nazwa użytkownika jest pusta, co osiąga się poprzez bezpośrednie porównanie jej z pustym literałem ciągu znaków przy użyciu operatora równości (==). Jeżeli nazwa użytkownika okaże się pusta, program wyświetli komunikat o błędzie o treści: „Błąd: nazwa użytkownika nie może być pusta”. Jeśli jednak nazwa użytkownika nie jest pusta, program wyświetli spersonalizowaną wiadomość powitalną, zawierającą wprowadzoną nazwę użytkownika oraz powitanie „Witajcie, [nazwa użytkownika]! Witamy na naszej platformie”.

Oto wynik, w którym nie podaliśmy żadnej nazwy użytkownika:

Dane wyjściowe po podaniu nazwy użytkownika są następujące:

Metoda 4: Korzystanie z operatora trójskładnikowego

Operator trójskładnikowy zwięźle wyraża instrukcję warunkową w jednym wierszu, co sprawia, że ​​kod jest bardziej zwarty. Operator trójskładnikowy zwraca jedną z dwóch wartości po ocenie warunku, aby sprawdzić, czy ciąg znaków jest pusty. W tym przypadku możemy użyć funkcji członkowskiej „empty()” w celu sprawdzenia pustki i zastosować operator trójskładnikowy do przypisania odpowiedniego komunikatu.

Oto ilustrujący przykład:

#include
#include
za pomocą przestrzeń nazw st ;

wew główny ( ) {
przykładowy ciągString = 'Witaj świecie!' ;

cout << „Sznurek jest” << ( przykładowy ciąg. pusty ( ) ? 'pusty.' : 'nie pusty.' ) << koniec ;

powrót 0 ;
}

Następnie deklarujemy zmienną łańcuchową o nazwie „sampleString” i inicjujemy ją komunikatem „Hello, World!” treść. Używamy operatora trójskładnikowego w instrukcji „cout”, aby określić, czy ciąg znaków jest pusty. Operator trójskładnikowy ocenia warunek „sampleString.empty()”, sprawdzając, czy ciąg znaków jest pusty, i wypisuje odpowiedni komunikat „Ciąg jest pusty”, jeśli warunek jest prawdziwy, oraz „Ciąg nie jest pusty”, jeśli warunek jest FAŁSZ. Program kończy się zwróceniem 0, co oznacza pomyślne wykonanie. Wykonanie tego programu generuje następujące dane wyjściowe:

Wniosek

Wykrywanie, czy ciąg C++ jest pusty, ma fundamentalne znaczenie dla manipulacji i przetwarzania ciągów. W tym artykule omówiliśmy kilka metod, a każda z nich ma swoje zalety. Funkcja członkowska „empty()” jest najbardziej bezpośrednią i najczęściej używaną funkcją, która wyraźnie wskazuje na pustkę ciągu. Użycie „size()” oferuje alternatywne podejście polegające na sprawdzeniu długości łańcucha. Porównanie z pustym literałem ciągu jest proste i intuicyjne, natomiast operatory trójskładnikowe zapewniają elastyczność w integracji sprawdzania z bardziej złożoną logiką. Przy wyborze odpowiedniego podejścia należy wziąć pod uwagę szczególne potrzeby programu.