Kuinka havaita, jos C++-merkkijono on tyhjä

Kuinka Havaita Jos C Merkkijono On Tyhja



C++-ohjelmoinnissa tekstidatan hallinta ja käsittely on olennainen osa ohjelmistokehitystä. Merkkijonoina toimivat merkkijonot ovat avainasemassa tekstidatan hallinnassa. Yksi yleinen skenaario, jonka ohjelmoijat usein kohtaavat, on tarve määrittää, onko C++-merkkijono tyhjä. Merkkijonoa, jossa ei ole merkkejä, kutsutaan tyhjäksi merkkijonoksi. Onneksi C++ tarjoaa yksinkertaisia ​​menetelmiä vakiokirjastossaan varmistaakseen merkkijonon tyhjyyden. Tässä artikkelissa tarkastellaan menetelmiä ja tekniikoita, joita käytetään havaitsemaan, onko C++-merkkijono tyhjä, mikä tarjoaa perustan ohjelmien merkkijonotietojen käsittelylle ja vahvistamiselle.

Tapa 1: Empty() Member -funktion käyttäminen

Yksi suoraviivainen ja sisäänrakennettu tapa C++:ssa määrittää, onko merkkijono tyhjä, sisältää 'empty()' -jäsenfunktion käyttämisen. Funktio 'empty()' on osa standardia C++-merkkijonoluokkaa ja tarjoaa kätevän tavan tarkistaa, onko merkkijonossa merkkejä.

Tässä on yksinkertainen esimerkki, joka havainnollistaa tyhjä()-funktion käyttöä:







#include
#sisällytä
käyttämällä nimiavaruus std ;

int pää ( ) {

merkkijono tyhjäStr ;

jos ( tyhjäStr. tyhjä ( ) ) {
cout << 'Joukko on tyhjä.' << endl ;
} muu {
cout << 'Merkkijono ei ole tyhjä.' << endl ;
}

palata 0 ;
}

Tässä C++-koodinpätkässä aloitamme lisäämällä tarvittavat otsikkotiedostot, kuten ja , helpottamaan syöttö- ja tulostustoimintoja sekä työskennellä merkkijonojen kanssa. Toiminnon 'main()' sisällä julistetaan merkkijonomuuttuja nimeltä 'emptyStr'. Tämä merkkijono on aluksi tyhjä, ilman merkkiä. Sitten käytämme C++ 'string'-luokan tarjoamaa 'tyhjä()' -jäsentoimintoa. Kuten nimestä voi päätellä, 'empty()'-funktio tarkistaa, onko merkkijono, jota sitä kutsutaan, tyhjä vai ei.



Meidän tapauksessamme kutsumme tätä funktiota 'emptyStr'-merkkijonossa. Tämän jälkeen käytämme ehdollista käskyä arvioidaksemme Boolen tuloksen, jonka 'empty()'-funktio palauttaa. Jos merkkijono on todella tyhjä, ohjelmamme antaa viestin, joka osoittaa, että merkkijono on tyhjä. Toisaalta, jos merkkijono sisältää merkkejä, ohjelma antaa viestin, jossa todetaan, että merkkijono ei ole tyhjä.



Toimitetun C++-koodin tulos on seuraava:





Tapa 2: Size() -jäsenfunktion käyttäminen

Toinen tapa havaita, onko C++-merkkijono tyhjä, sisältää 'string'-luokan tarjoaman 'size()'-jäsenfunktion käyttämisen. Toisin kuin 'empty()'-funktio, joka palauttaa suoraan tyhjyyttä ilmaisevan Boolen, 'size()' palauttaa merkkijonossa olevien merkkien määrän. Tyhjyyden tarkistamiseksi vertaamme 'size()'-tulosta nollaan, koska tyhjän merkkijonon koko on nolla.



Tässä on esimerkki:

#include
#sisällytä
käyttämällä nimiavaruus std ;

int pää ( ) {

merkkijono myEmptyString ;

jos ( myEmptyString. koko ( ) == 0 ) {
cout << 'Syötetty merkkijono on tyhjä.' << endl ;
} muu {
cout << 'Syötetty merkkijono ei ole tyhjä.' << endl ;
}

palata 0 ;
}

Tässä esimerkissä aloitamme ilmoittamalla merkkijonomuuttujan nimeltä 'myEmptyString' alustamatta sitä ja jättämällä sen oletuksena tyhjäksi. Eteenpäin kutsumme 'size()'-funktion määrittääksemme 'myEmptyString'-merkkijonon koon tai merkkien lukumäärän. 'if'-lause arvioi, onko koko nolla, mikä osoittaa, että merkkijono on tyhjä. Jos tämä ehto täyttyy, lähetämme konsoliin viestin, joka ilmoittaa, että annettu merkkijono on tyhjä. Päinvastoin, jos koko on muu kuin nolla, ohjausvirta siirtyy 'else'-lohkoon ja näyttöön tulee erilainen viesti, joka vahvistaa, että annettu merkkijono ei ole tyhjä.

Tapa 3: Vertailu tyhjän merkkijonon kanssa

Lisätekniikka sen määrittämiseksi, onko C++-merkkijono tyhjä, sisältää suoran vertailun tyhjään merkkijonoliteraaliin. Tyhjää merkkijonoliteraalia edustaa kaksinkertainen lainausmerkki, jonka välissä ei ole merkkejä, kuten ''. Voimme varmistaa, sisältääkö merkkijono mitään merkkiä vertaamalla annettua merkkijonoa tähän tyhjään merkkijonokirjaimeen.

Tässä on esimerkki, joka havainnollistaa tätä lähestymistapaa:

#include
#sisällytä
käyttämällä nimiavaruus std ;

int pää ( )
{
merkkijono käyttäjänimi ;

cout <> käyttäjätunnus ;

jos ( käyttäjätunnus == '' )
{
cout << 'Virhe: Käyttäjätunnus ei voi olla tyhjä.' << endl ;
}
muu
{
cout << 'Hei, ' << käyttäjätunnus << '! Tervetuloa alustallemme.' << endl ;
}

palata 0 ;
}

Tässä tapauksessa käynnistämme sovelluksen, joka pyytää käyttäjää antamaan käyttäjätunnuksensa. Ohjelma alkaa ilmoittamalla merkkijonomuuttujan nimeltä 'username' tallentaakseen käyttäjän syötteen. Tämän jälkeen käyttäjää kehotetaan antamaan 'Syötä käyttäjänimi:' -viesti, ja hänen syötteensä kaapataan 'cin'-virran avulla. Ohjelma käyttää sitten ehdollista käskyä tarkistaakseen, onko syötetty käyttäjätunnus tyhjä, mikä saavutetaan vertaamalla sitä suoraan tyhjään merkkijonoliteraaliin käyttämällä yhtäläisyysoperaattoria (==). Jos käyttäjätunnus havaitaan tyhjäksi, ohjelma antaa virheilmoituksen, jossa lukee 'Virhe: Käyttäjätunnus ei voi olla tyhjä'. Jos käyttäjätunnus ei kuitenkaan ole tyhjä, ohjelma näyttää henkilökohtaisen tervetuloviestin, joka sisältää syötetyn käyttäjänimen ja 'Hei, [käyttäjänimi]! Tervetuloa alustallemme' -tervehdyksen.

Tässä on tulos, jolle emme antaneet käyttäjätunnusta:

Kun käyttäjätunnus annetaan, tulos on seuraava:

Tapa 4: Kolmiosaisen operaattorin käyttäminen

Kolmiosainen operaattori ilmaisee ehdollisen lauseen ytimekkäästi yhdellä rivillä, mikä tekee koodista kompaktimman. Kolmiosainen operaattori palauttaa yhden kahdesta arvosta arvioituaan ehdon nähdäkseen, onko merkkijono tyhjä. Tässä tapauksessa voimme käyttää 'empty()' -jäsenfunktiota tyhjyyden tarkistamiseen ja käyttää kolmiosaista operaattoria vastaavan viestin osoittamiseen.

Tässä havainnollistava esimerkki:

#include
#sisällytä
käyttämällä nimiavaruus std ;

int pää ( ) {
merkkijono näytemerkkijono = 'Hei maailma!' ;

cout << 'merkkijono on' << ( näytemerkkijono. tyhjä ( ) ? 'tyhjä.' : 'ei tyhjä.' ) << endl ;

palata 0 ;
}

Ilmoitamme sitten merkkijonomuuttujan nimeltä 'sampleString' ja alustamme sen 'Hei, maailma!' sisältö. Käytämme kolmiosaista operaattoria 'cout'-lauseessa määrittääksemme, onko merkkijono tyhjä. Kolmiosainen operaattori arvioi 'sampleString.empty()' -ehdon ja tarkistaa, onko merkkijono tyhjä, ja tulostaa vastaavan 'merkkijono on tyhjä' -viestin, jos ehto on tosi, ja 'merkkijono ei ole tyhjä', jos ehto on väärä. Ohjelma päättyy palauttamalla 0:n, joka ilmaisee onnistuneen ajon. Tämän ohjelman suorittaminen tuottaa seuraavan tulosteen:

Johtopäätös

Sen havaitseminen, onko C++-merkkijono tyhjä, on olennaista merkkijonojen käsittelyssä ja käsittelyssä. Tässä artikkelissa tutkimme useita menetelmiä, joista jokaisella on etunsa. 'Empty()' -jäsenfunktio on suorin ja yleisimmin käytetty funktio, joka osoittaa selvästi merkkijonon tyhjyyden. 'Size()' tarjoaa vaihtoehtoisen lähestymistavan tarkistamalla merkkijonon pituuden. Vertailu tyhjään merkkijono-literaaliin on suoraviivaista ja intuitiivista, kun taas kolmiosaiset operaattorit tarjoavat joustavuutta tarkastuksen integroinnissa monimutkaisempaan logiikkaan. Oikeaa lähestymistapaa valittaessa on otettava huomioon ohjelman erityistarpeet.