So erkennen Sie, ob eine C++-Zeichenfolge leer ist

So Erkennen Sie Ob Eine C Zeichenfolge Leer Ist



Bei der C++-Programmierung ist die Verwaltung und Bearbeitung von Textdaten ein grundlegender Aspekt der Softwareentwicklung. Zeichenfolgen, die als Zeichenfolgen dienen, sind für die Verwaltung von Textdaten von zentraler Bedeutung. Ein häufiges Szenario, mit dem Programmierer häufig konfrontiert werden, besteht darin, festzustellen, ob eine C++-Zeichenfolge leer ist. Eine Zeichenfolge, die keine Zeichen enthält, wird als leere Zeichenfolge bezeichnet. Glücklicherweise bietet C++ in seiner Standardbibliothek einfache Methoden, um die Leere einer Zeichenfolge festzustellen. In diesem Artikel werden die Methoden und Techniken untersucht, die verwendet werden, um zu erkennen, ob eine C++-Zeichenfolge leer ist, und eine Grundlage für die Verarbeitung und Validierung der Zeichenfolgendaten in Ihren Programmen bereitzustellen.

Methode 1: Verwenden der Member-Funktion Empty()

Ein einfacher und in C++ integrierter Ansatz zur Bestimmung, ob eine Zeichenfolge leer ist, besteht in der Verwendung der Memberfunktion „empty()“. Die Funktion „empty()“ ist Teil der Standard-C++-String-Klasse und bietet eine praktische Möglichkeit, zu überprüfen, ob ein String keine Zeichen enthält.

Hier ist ein einfaches Beispiel, das die Verwendung der Funktion empty() veranschaulicht:







#include
#include
verwenden Namensraum std ;

int hauptsächlich ( ) {

string emptyStr ;

Wenn ( emptyStr. leer ( ) ) {
cout << „Die Zeichenfolge ist leer.“ << endl ;
} anders {
cout << „Die Zeichenfolge ist nicht leer.“ << endl ;
}

zurückkehren 0 ;
}

In diesem C++-Codeausschnitt fügen wir zunächst die erforderlichen Header-Dateien ein, z. B. und , um die Eingabe- und Ausgabevorgänge bzw. die Arbeit mit Zeichenfolgen zu erleichtern. Innerhalb der Funktion „main()“ deklarieren wir eine String-Variable mit dem Namen „emptyStr“. Diese Zeichenfolge ist zunächst leer und enthält kein Zeichen. Dann verwenden wir die Memberfunktion „empty()“, die von der C++-Klasse „string“ bereitgestellt wird. Wie der Name schon sagt, prüft die Funktion „empty()“, ob die Zeichenfolge, für die sie aufgerufen wird, leer ist oder nicht.



In unserem Fall rufen wir diese Funktion für die Zeichenfolge „emptyStr“ auf. Anschließend verwenden wir eine bedingte Anweisung, um das boolesche Ergebnis auszuwerten, das von der Funktion „empty()“ zurückgegeben wird. Wenn die Zeichenfolge tatsächlich leer ist, gibt unser Programm eine Meldung aus, die darauf hinweist, dass die Zeichenfolge leer ist. Enthält die Zeichenfolge hingegen Zeichen, gibt das Programm eine Meldung aus, die besagt, dass die Zeichenfolge nicht leer ist.



Die Ausgabe des bereitgestellten C++-Codes lautet wie folgt:





Methode 2: Verwenden der Member-Funktion Size()

Ein anderer Ansatz, um zu erkennen, ob ein C++-String leer ist, besteht darin, die von der Klasse „string“ bereitgestellte Memberfunktion „size()“ zu verwenden. Im Gegensatz zur Funktion „empty()“, die direkt einen Booleschen Wert zurückgibt, der die Leere anzeigt, gibt „size()“ die Anzahl der Zeichen zurück, die in der Zeichenfolge vorhanden sind. Um zu prüfen, ob die Zeichenfolge leer ist, vergleichen wir das Ergebnis von „size()“ mit Null, da eine leere Zeichenfolge die Größe Null hat.



Hier ist ein Beispiel:

#include
#include
verwenden Namensraum std ;

int hauptsächlich ( ) {

string myEmptyString ;

Wenn ( myEmptyString. Größe ( ) == 0 ) {
cout << „Die bereitgestellte Zeichenfolge ist leer.“ << endl ;
} anders {
cout << „Die bereitgestellte Zeichenfolge ist nicht leer.“ << endl ;
}

zurückkehren 0 ;
}

In diesem Beispiel deklarieren wir zunächst eine String-Variable mit dem Namen „myEmptyString“, ohne sie zu initialisieren, sodass sie standardmäßig leer bleibt. Im weiteren Verlauf rufen wir die Funktion „size()“ auf, um die Größe oder Anzahl der Zeichen im String „myEmptyString“ zu bestimmen. Die „if“-Anweisung wertet aus, ob die Größe gleich Null ist, was anzeigt, dass die Zeichenfolge leer ist. Wenn diese Bedingung erfüllt ist, geben wir eine Meldung an die Konsole aus, die besagt, dass der bereitgestellte String leer ist. Wenn umgekehrt die Größe ungleich Null ist, wechselt der Kontrollfluss zum „else“-Block und es wird eine andere Meldung angezeigt, die bestätigt, dass die bereitgestellte Zeichenfolge nicht leer ist.

Methode 3: Verwenden eines Vergleichs mit einem leeren String-Literal

Eine weitere Technik, um festzustellen, ob eine C++-Zeichenfolge leer ist, umfasst einen direkten Vergleich mit einem leeren Zeichenfolgenliteral. Ein leeres Zeichenfolgenliteral wird durch ein Paar doppelter Anführungszeichen ohne Zeichen dazwischen wie „“ dargestellt. Wir können feststellen, ob die Zeichenfolge ein Zeichen enthält, indem wir eine bestimmte Zeichenfolge mit diesem leeren Zeichenfolgenliteral vergleichen.

Hier ist ein Beispiel, das diesen Ansatz veranschaulicht:

#include
#include
verwenden Namensraum std ;

int hauptsächlich ( )
{
Zeichenfolge Benutzername ;

cout <> Nutzername ;

Wenn ( Nutzername == „“ )
{
cout << „Fehler: Der Benutzername darf nicht leer sein.“ << endl ;
}
anders
{
cout << 'Hallo, ' << Nutzername << „! Willkommen auf unserer Plattform.“ << endl ;
}

zurückkehren 0 ;
}

In diesem Fall starten wir eine Anwendung, die den Benutzer auffordert, seinen Benutzernamen anzugeben. Das Programm beginnt mit der Deklaration einer Zeichenfolgenvariablen namens „Benutzername“, um die Eingaben des Benutzers zu speichern. Anschließend wird der Benutzer mit der Meldung „Geben Sie Ihren Benutzernamen ein:“ aufgefordert und seine Eingabe wird mithilfe des Streams „cin“ erfasst. Das Programm verwendet dann eine bedingte Anweisung, um zu prüfen, ob der eingegebene Benutzername leer ist. Dies wird durch einen direkten Vergleich mit einem leeren String-Literal unter Verwendung des Gleichheitsoperators (==) erreicht. Wenn festgestellt wird, dass der Benutzername leer ist, gibt das Programm eine Fehlermeldung aus, die besagt: „Fehler: Der Benutzername darf nicht leer sein“. Wenn der Benutzername jedoch nicht leer ist, zeigt das Programm eine personalisierte Willkommensnachricht an, die den eingegebenen Benutzernamen und die Begrüßung „Hallo, [Benutzername]! Willkommen auf unserer Plattform“ enthält.

Hier ist die Ausgabe, bei der wir keinen Benutzernamen angegeben haben:

Die Ausgabe bei Angabe eines Benutzernamens lautet wie folgt:

Methode 4: Verwendung eines ternären Operators

Der ternäre Operator drückt eine bedingte Anweisung prägnant in einer einzigen Zeile aus, wodurch der Code kompakter wird. Der ternäre Operator gibt einen von zwei Werten zurück, nachdem er die Bedingung beurteilt hat, um festzustellen, ob die Zeichenfolge leer ist. In diesem Fall können wir die Memberfunktion „empty()“ verwenden, um die Leere zu prüfen und den ternären Operator verwenden, um eine entsprechende Nachricht zuzuweisen.

Hier ist ein anschauliches Beispiel:

#include
#include
verwenden Namensraum std ;

int hauptsächlich ( ) {
string sampleString = 'Hallo Welt!' ;

cout << „Die Zeichenfolge ist“ << ( SampleString. leer ( ) ? 'leer.' : 'nicht leer.' ) << endl ;

zurückkehren 0 ;
}

Anschließend deklarieren wir eine String-Variable mit dem Namen „sampleString“ und initialisieren sie mit dem Befehl „Hello, World!“. Inhalt. Wir verwenden einen ternären Operator innerhalb der „cout“-Anweisung, um festzustellen, ob die Zeichenfolge leer ist. Der ternäre Operator wertet die Bedingung „sampleString.empty()“ aus, prüft, ob die Zeichenfolge leer ist, und gibt die entsprechende Meldung „Die Zeichenfolge ist leer“ aus, wenn die Bedingung wahr ist, und „Die Zeichenfolge ist nicht leer“, wenn die Bedingung erfüllt ist FALSCH. Das Programm endet mit der Rückgabe von 0, was einen erfolgreichen Lauf anzeigt. Die Ausführung dieses Programms erzeugt die folgende Ausgabe:

Abschluss

Das Erkennen, ob ein C++-String leer ist, ist für die String-Manipulation und -Verarbeitung von grundlegender Bedeutung. In diesem Artikel haben wir die verschiedenen Methoden untersucht, jede mit ihren Vorteilen. Die Memberfunktion „empty()“ ist die direkteste und am häufigsten verwendete Funktion, die eindeutig die Leere einer Zeichenfolge anzeigt. Die Verwendung von „size()“ bietet einen alternativen Ansatz, indem die Länge der Zeichenfolge überprüft wird. Der Vergleich mit einem leeren String-Literal ist unkompliziert und intuitiv, während ternäre Operatoren Flexibilität bei der Integration der Prüfung in eine komplexere Logik bieten. Bei der Auswahl des richtigen Ansatzes müssen die besonderen Anforderungen des Programms berücksichtigt werden.