Ako zistiť, či je reťazec C++ prázdny

Ako Zistit Ci Je Retazec C Prazdny



V programovaní v C++ je správa a manipulácia s textovými údajmi základným aspektom vývoja softvéru. Reťazce, ktoré slúžia ako sekvencie znakov, sú kľúčové pri správe textových údajov. Jeden bežný scenár, s ktorým sa programátori často stretávajú, je potreba zistiť, či je reťazec C++ prázdny. Reťazec, ktorý neobsahuje žiadne znaky, sa nazýva prázdny reťazec. Našťastie C++ ponúka v rámci svojej štandardnej knižnice priame metódy na zistenie prázdnoty reťazca. Tento článok skúma metódy a techniky, ktoré sa používajú na zistenie, či je reťazec C++ prázdny, a poskytuje základ pre manipuláciu a overovanie údajov reťazca vo vašich programoch.

Metóda 1: Použitie členskej funkcie Empty().

Jeden priamy a vstavaný prístup v C++ na určenie, či je reťazec prázdny, zahŕňa použitie členskej funkcie „empty()“. Funkcia „empty()“ je súčasťou štandardnej triedy reťazcov C++ a poskytuje pohodlný spôsob, ako skontrolovať, či reťazec neobsahuje žiadne znaky.

Tu je jednoduchý príklad, ktorý ilustruje použitie funkcie empty():







#include
#include
použitím menný priestor std ;

int Hlavná ( ) {

reťazec prázdnyStr ;

ak ( emptyStr. prázdny ( ) ) {
cout << 'Reťazec je prázdny.' << endl ;
} inak {
cout << 'Reťazec nie je prázdny.' << endl ;
}

vrátiť 0 ;
}

V tomto úryvku kódu C++ začneme zahrnutím potrebných hlavičkových súborov, ako sú a , aby sme uľahčili vstupné a výstupné operácie a prácu s reťazcami. Vo vnútri funkcie „main()“ deklarujeme reťazcovú premennú s názvom „emptyStr“. Tento reťazec je na začiatku prázdny, bez akéhokoľvek znaku. Potom použijeme členskú funkciu „empty()“, ktorú poskytuje trieda C++ „string“. Ako už názov napovedá, funkcia „empty()“ kontroluje, či je reťazec, na ktorý sa volá, prázdny alebo nie.



V našom prípade túto funkciu vyvoláme na reťazci „emptyStr“. Potom použijeme podmienený príkaz na vyhodnotenie boolovského výsledku, ktorý vráti funkcia „empty()“. Ak je reťazec skutočne prázdny, náš program vypíše správu, ktorá indikuje, že reťazec je prázdny. Na druhej strane, ak reťazec obsahuje znaky, program vypíše správu, že reťazec nie je prázdny.



Výstup poskytnutého kódu C++ je nasledujúci:





Metóda 2: Použitie členskej funkcie Size().

Ďalší prístup na zistenie, či je reťazec C++ prázdny, zahŕňa použitie členskej funkcie „size()“, ktorú poskytuje trieda „string“. Na rozdiel od funkcie „empty()“, ktorá priamo vracia booleovskú hodnotu, ktorá označuje prázdnotu, funkcia „size ()“ vracia počet znakov prítomných v reťazci. Aby sme skontrolovali prázdnotu, porovnáme výsledok „size()“ s nulou, pretože prázdny reťazec má nulovú veľkosť.



Tu je príklad:

#include
#include
použitím menný priestor std ;

int Hlavná ( ) {

string myEmptyString ;

ak ( myEmptyString. veľkosť ( ) == 0 ) {
cout << 'Zadaný reťazec je prázdny.' << endl ;
} inak {
cout << 'Zadaný reťazec nie je prázdny.' << endl ;
}

vrátiť 0 ;
}

V tomto príklade začneme deklarovaním reťazcovej premennej s názvom „myEmptyString“ bez toho, aby sme ju inicializovali, pričom ju predvolene necháme prázdnu. Vpred vyvoláme funkciu „size()“, aby sme určili veľkosť alebo počet znakov v reťazci „myEmptyString“. Príkaz „if“ vyhodnocuje, či sa veľkosť rovná nule, čo znamená, že reťazec je prázdny. Ak je táto podmienka splnená, vypíšeme do konzoly správu, ktorá uvádza, že zadaný reťazec je prázdny. Naopak, ak je veľkosť nenulová, riadiaci tok sa presunie do bloku „else“ a zobrazí sa iná správa, ktorá potvrdzuje, že zadaný reťazec nie je prázdny.

Metóda 3: Použitie porovnania s literálom prázdneho reťazca

Ďalšia technika na určenie, či je reťazec C++ prázdny, zahŕňa priame porovnanie s prázdnym reťazcovým literálom. Prázdny reťazcový literál je reprezentovaný dvojicou úvodzoviek, medzi ktorými nie sú žiadne znaky ako „“. Či reťazec obsahuje nejaký znak, môžeme zistiť porovnaním daného reťazca s týmto prázdnym reťazcovým literálom.

Tu je príklad, ktorý ilustruje tento prístup:

#include
#include
použitím menný priestor std ;

int Hlavná ( )
{
používateľské meno reťazca ;

cout <> užívateľské meno ;

ak ( užívateľské meno == '' )
{
cout << 'Chyba: Používateľské meno nemôže byť prázdne.' << endl ;
}
inak
{
cout << 'Ahoj, ' << užívateľské meno << '! Vitajte na našej platforme.' << endl ;
}

vrátiť 0 ;
}

V takom prípade spustíme aplikáciu, ktorá používateľa požiada o zadanie používateľského mena. Program začína deklarovaním reťazcovej premennej s názvom „username“ na uloženie vstupu používateľa. Následne sa používateľovi zobrazí výzva „Zadajte svoje používateľské meno:“ a jeho vstup sa zaznamená pomocou streamu „cin“. Program potom používa podmienený príkaz na kontrolu, či je zadané používateľské meno prázdne, čo sa dosiahne priamym porovnaním s prázdnym reťazcovým literálom pomocou operátora rovnosti (==). Ak sa zistí, že používateľské meno je prázdne, program zobrazí chybové hlásenie, ktoré hovorí: „Chyba: Používateľské meno nemôže byť prázdne“. Ak však používateľské meno nie je prázdne, program zobrazí personalizovanú uvítaciu správu, ktorá obsahuje zadané používateľské meno s pozdravom „Dobrý deň, [používateľské meno]! Vitajte na našej platforme“.

Tu je výstup, kde sme neposkytli žiadne používateľské meno:

Výstup pri zadaní používateľského mena je nasledujúci:

Metóda 4: Použitie ternárneho operátora

Ternárny operátor stručne vyjadruje podmienený príkaz v jednom riadku, vďaka čomu je kód kompaktnejší. Ternárny operátor vráti jednu z dvoch hodnôt po vyhodnotení podmienky, aby zistil, či je reťazec prázdny. V tomto prípade môžeme použiť členskú funkciu „empty()“ na kontrolu prázdnoty a použiť ternárny operátor na priradenie zodpovedajúcej správy.

Tu je názorný príklad:

#include
#include
použitím menný priestor std ;

int Hlavná ( ) {
string sampleString = 'Ahoj Svet!' ;

cout << 'Reťazec je' << ( sampleString. prázdny ( ) ? 'prázdne.' : 'nie prázdny.' ) << endl ;

vrátiť 0 ;
}

Potom deklarujeme reťazcovú premennú s názvom „sampleString“ a inicializujeme ju príkazom „Ahoj, svet!“ obsahu. Na určenie, či je reťazec prázdny, používame ternárny operátor v rámci príkazu „cout“. Ternárny operátor vyhodnotí podmienku „sampleString.empty()“, pričom skontroluje, či je reťazec prázdny, a vytlačí zodpovedajúcu správu „Reťazec je prázdny“, ak je podmienka pravdivá, a „Reťazec nie je prázdny“, ak je podmienka falošný. Program končí návratom 0, čo znamená úspešné spustenie. Spustenie tohto programu generuje nasledujúci výstup:

Záver

Zistenie, či je reťazec C++ prázdny, je základom manipulácie a spracovania reťazcov. V tomto článku sme preskúmali niekoľko metód, z ktorých každá má svoje výhody. Členská funkcia „empty()“ je najpriamejšia a najbežnejšie používaná funkcia, ktorá jasne označuje prázdnotu reťazca. Použitie „size ()“ ponúka alternatívny prístup kontrolou dĺžky reťazca. Porovnanie s prázdnym reťazcovým literálom je jednoduché a intuitívne, zatiaľ čo ternárne operátory poskytujú flexibilitu pri integrácii kontroly do zložitejšej logiky. Pri výbere správneho prístupu je potrebné vziať do úvahy konkrétne potreby programu.