Sådan registrerer du, om en C++-streng er tom

Sadan Registrerer Du Om En C Streng Er Tom



I C++ programmering er håndtering og manipulering af tekstdata et grundlæggende aspekt af softwareudvikling. Strenge, der fungerer som karaktersekvenser, er afgørende for håndtering af tekstdata. Et almindeligt scenarie, som programmører ofte støder på, er behovet for at afgøre, om en C++-streng er tom. En streng, der ikke har nogen tegn, kaldes en tom streng. Heldigvis tilbyder C++ enkle metoder inden for sit standardbibliotek til at konstatere tomheden af ​​en streng. Denne artikel udforsker de metoder og teknikker, der bruges til at opdage, om en C++-streng er tom, hvilket giver et grundlag for håndtering og validering af strengdata i dine programmer.

Metode 1: Brug af funktionen Empty() Member

En ligetil og indbygget tilgang i C++ til at bestemme, om en streng er tom, involverer at bruge 'empty()'-medlemsfunktionen. Funktionen 'empty()' er en del af standard C++-strengklassen og giver en bekvem måde at kontrollere, om en streng ikke har nogen tegn.

Her er et simpelt eksempel, der illustrerer brugen af ​​funktionen tomme():







#include
#inkluder
ved brug af navneområde std ;

int vigtigste ( ) {

streng tommeStr ;

hvis ( tommeStr. tom ( ) ) {
cout << 'Snoren er tom.' << endl ;
} andet {
cout << 'Strengen er ikke tom.' << endl ;
}

Vend tilbage 0 ;
}

I dette C++-kodestykke begynder vi med at inkludere de nødvendige header-filer, såsom og , for at lette henholdsvis input- og output-operationerne og arbejde med strenge. Inde i funktionen 'main()' erklærer vi en strengvariabel ved navn 'emptyStr'. Denne streng er til at begynde med tom uden tegn. Derefter bruger vi 'empty()'-medlemsfunktionen leveret af C++ 'string'-klassen. Som navnet antyder, kontrollerer 'empty()'-funktionen, om den streng, den kaldes på, er tom eller ej.



I vores tilfælde kalder vi denne funktion på 'emptyStr'-strengen. Efter dette bruger vi en betinget sætning til at evaluere det boolske resultat, der returneres af funktionen 'empty()'. Hvis strengen virkelig er tom, udsender vores program en meddelelse, der indikerer, at strengen er tom. På den anden side, hvis strengen indeholder tegn, udsender programmet en besked, der angiver, at strengen ikke er tom.



Outputtet af den leverede C++ kode er som følger:





Metode 2: Brug af Size()-medlemsfunktionen

En anden tilgang til at opdage, om en C++-streng er tom, involverer at bruge 'size()'-medlemsfunktionen leveret af 'string'-klassen. I modsætning til funktionen 'empty()', der direkte returnerer en boolsk værdi, der indikerer tomhed, returnerer 'size()' antallet af tegn, der er til stede i strengen. For at kontrollere for tomhed sammenligner vi resultatet af 'størrelse()' med nul, da en tom streng har en størrelse nul.



Her er et eksempel:

#include
#inkluder
ved brug af navneområde std ;

int vigtigste ( ) {

streng minEmptyString ;

hvis ( minEmptyString. størrelse ( ) == 0 ) {
cout << 'Den angivne streng er tom.' << endl ;
} andet {
cout << 'Den angivne streng er ikke tom.' << endl ;
}

Vend tilbage 0 ;
}

I dette eksempel starter vi med at erklære en strengvariabel ved navn 'myEmptyString' uden at initialisere den og lade den stå tom som standard. Fremadrettet kalder vi 'size()'-funktionen for at bestemme størrelsen eller antallet af tegn i 'myEmptyString'-strengen. 'Hvis'-sætningen evaluerer, om størrelsen er lig med nul, hvilket indikerer, at strengen er tom. Hvis denne betingelse er opfyldt, udsender vi en meddelelse til konsollen, som angiver, at den angivne streng er tom. Omvendt, hvis størrelsen ikke er nul, skifter kontrolflowet til 'andet'-blokken, og en anden meddelelse vises, som bekræfter, at den angivne streng ikke er tom.

Metode 3: Brug af en sammenligning med en tom streng literal

En yderligere teknik til at bestemme, om en C++-streng er tom, involverer en direkte sammenligning med en tom streng-literal. En tom streng bogstavelig repræsenteres af et par dobbelte anførselstegn uden tegn mellem dem, f.eks. ''. Vi kan konstatere, om strengen indeholder et tegn ved at sammenligne en given streng med denne tomme streng-literal.

Her er et eksempel, der illustrerer denne tilgang:

#include
#inkluder
ved brug af navneområde std ;

int vigtigste ( )
{
streng brugernavn ;

cout <> brugernavn ;

hvis ( brugernavn == '' )
{
cout << 'Fejl: Brugernavnet må ikke være tomt.' << endl ;
}
andet
{
cout << 'Hej, ' << brugernavn << '! Velkommen til vores platform.' << endl ;
}

Vend tilbage 0 ;
}

I dette tilfælde starter vi et program, der beder brugeren om at angive sit brugernavn. Programmet begynder med at erklære en strengvariabel ved navn 'brugernavn' for at gemme brugerens input. Efterfølgende bliver brugeren bedt om meddelelsen 'Indtast dit brugernavn:', og deres input fanges ved hjælp af 'cin'-strømmen. Programmet anvender derefter en betinget sætning til at kontrollere, om det indtastede brugernavn er tomt, hvilket opnås ved direkte at sammenligne det med en tom streng bogstavelig ved hjælp af lighedsoperatoren (==). Hvis brugernavnet viser sig at være tomt, udsender programmet en fejlmeddelelse, som siger, 'Fejl: Brugernavnet kan ikke være tomt'. Men hvis brugernavnet ikke er tomt, viser programmet en personlig velkomstbesked, der inkorporerer det indtastede brugernavn med 'Hej [brugernavn]! Velkommen til vores platform'-hilsen.

Her er output, hvor vi ikke har angivet noget brugernavn:

Outputtet, når der gives et brugernavn, er som følger:

Metode 4: Brug af en ternær operatør

Den ternære operator udtrykker kortfattet en betinget sætning på en enkelt linje, hvilket gør koden mere kompakt. Den ternære operator returnerer en af ​​to værdier efter at have vurderet betingelsen for at se, om strengen er tom. I dette tilfælde kan vi bruge 'empty()'-medlemsfunktionen til at tjekke for tomhed og bruge den ternære operatør til at tildele en tilsvarende besked.

Her er et illustrativt eksempel:

#include
#inkluder
ved brug af navneområde std ;

int vigtigste ( ) {
string sampleString = 'Hej Verden!' ;

cout << 'Snoren er' << ( sampleString. tom ( ) ? 'tom.' : 'ikke tom.' ) << endl ;

Vend tilbage 0 ;
}

Vi erklærer derefter en strengvariabel ved navn 'sampleString' og initialiserer den med 'Hello, World!' indhold. Vi bruger en ternær operator i 'cout'-sætningen til at bestemme, om strengen er tom. Den ternære operator evaluerer betingelsen 'sampleString.empty()', kontrollerer, om strengen er tom, og udskriver den tilsvarende 'strengen er tom'-meddelelse, hvis betingelsen er sand, og 'strengen er ikke tom', hvis betingelsen er falsk. Programmet afsluttes med at returnere 0, som angiver en vellykket kørsel. Udførelsen af ​​dette program genererer følgende output:

Konklusion

Detektering af, om en C++-streng er tom, er grundlæggende for strengmanipulation og -behandling. I denne artikel undersøgte vi de forskellige metoder, hver med sine fordele. 'empty()'-medlemsfunktionen er den mest direkte og mest brugte funktion, som tydeligt angiver en strengs tomhed. Brug af 'size()' giver en alternativ tilgang ved at kontrollere længden af ​​strengen. Sammenligning med en tom streng er ligetil og intuitiv, mens ternære operatorer giver fleksibilitet til at integrere checken i en mere kompleks logik. Programmets særlige behov skal tages i betragtning, når man vælger den rigtige tilgang.