Jak zjistit, zda je řetězec C++ prázdný

Jak Zjistit Zda Je Retezec C Prazdny



V programování v C++ je správa a manipulace s textovými daty základním aspektem vývoje softwaru. Řetězce, sloužící jako sekvence znaků, jsou klíčové při správě textových dat. Jedním z běžných scénářů, se kterými se programátoři často setkávají, je potřeba zjistit, zda je řetězec C++ prázdný. Řetězec, který neobsahuje žádné znaky, se nazývá prázdný řetězec. Naštěstí C++ nabízí v rámci své standardní knihovny přímočaré metody, jak zjistit prázdnotu řetězce. Tento článek zkoumá metody a techniky, které se používají ke zjištění, zda je řetězec C++ prázdný, a poskytuje základ pro zpracování a ověřování dat řetězce ve vašich programech.

Metoda 1: Použití členské funkce Empty().

Jeden přímý a vestavěný přístup v C++ k určení, zda je řetězec prázdný, zahrnuje použití členské funkce „empty()“. Funkce „empty()“ je součástí standardní třídy řetězců C++ a poskytuje pohodlný způsob, jak zkontrolovat, zda řetězec neobsahuje žádné znaky.

Zde je jednoduchý příklad, který ilustruje použití funkce empty():







#include
#include <řetězec>
použitím jmenný prostor std ;

int hlavní ( ) {

řetězec prázdnýStr ;

-li ( emptyStr. prázdný ( ) ) {
cout << 'Řetězec je prázdný.' << endl ;
} jiný {
cout << 'Řetězec není prázdný.' << endl ;
}

vrátit se 0 ;
}

V tomto úryvku kódu C++ začínáme zahrnutím nezbytných hlavičkových souborů, jako jsou a , abychom usnadnili vstupní a výstupní operace a práci s řetězci. Uvnitř funkce „main()“ deklarujeme řetězcovou proměnnou s názvem „emptyStr“. Tento řetězec je zpočátku prázdný, bez jakéhokoli znaku. Potom použijeme členskou funkci „empty()“ poskytovanou třídou „string“ C++. Jak název napovídá, funkce „empty()“ kontroluje, zda je řetězec, na kterém je volána, prázdný či nikoli.



V našem případě tuto funkci vyvoláme na řetězci „emptyStr“. Poté použijeme podmíněný příkaz k vyhodnocení booleovského výsledku, který vrátí funkce „empty()“. Pokud je řetězec skutečně prázdný, náš program vypíše zprávu, která indikuje, že řetězec je prázdný. Na druhou stranu, pokud řetězec obsahuje znaky, program vypíše zprávu, že řetězec není prázdný.



Výstup poskytnutého kódu C++ je následující:





Metoda 2: Použití členské funkce Size().

Další přístup ke zjištění, zda je řetězec C++ prázdný, zahrnuje použití členské funkce „size()“ poskytované třídou „string“. Na rozdíl od funkce „empty()“, která přímo vrací booleovskou hodnotu, která označuje prázdnotu, funkce „size()“ vrací počet znaků, které jsou v řetězci přítomny. Abychom zkontrolovali prázdnotu, porovnáme výsledek „size()“ s nulou, protože prázdný řetězec má nulovou velikost.



Zde je příklad:

#include
#include <řetězec>
použitím jmenný prostor std ;

int hlavní ( ) {

řetězec myEmptyString ;

-li ( myEmptyString. velikost ( ) == 0 ) {
cout << 'Zadaný řetězec je prázdný.' << endl ;
} jiný {
cout << 'Zadaný řetězec není prázdný.' << endl ;
}

vrátit se 0 ;
}

V tomto příkladu začneme deklarováním řetězcové proměnné s názvem „myEmptyString“, aniž bychom ji inicializovali, přičemž ve výchozím nastavení ponecháme prázdnou. Vpřed zavoláme funkci „size()“, abychom určili velikost nebo počet znaků v řetězci „myEmptyString“. Příkaz „if“ vyhodnocuje, zda se velikost rovná nule, což znamená, že řetězec je prázdný. Pokud je tato podmínka splněna, vypíšeme do konzole zprávu, která říká, že zadaný řetězec je prázdný. Pokud je naopak velikost nenulová, řídicí tok se přesune do bloku „jinak“ a zobrazí se jiná zpráva, která potvrzuje, že zadaný řetězec není prázdný.

Metoda 3: Použití porovnání s literálem prázdného řetězce

Další technika k určení, zda je řetězec C++ prázdný, zahrnuje přímé srovnání s prázdným řetězcovým literálem. Prázdný řetězcový literál je reprezentován dvojicí dvojitých uvozovek, mezi nimiž nejsou žádné znaky jako „“. Zda řetězec obsahuje nějaký znak, můžeme zjistit porovnáním daného řetězce s tímto prázdným řetězcovým literálem.

Zde je příklad, který tento přístup ilustruje:

#include
#include <řetězec>
použitím jmenný prostor std ;

int hlavní ( )
{
řetězec uživatelské jméno ;

cout <> uživatelské jméno ;

-li ( uživatelské jméno == '' )
{
cout << 'Chyba: Uživatelské jméno nemůže být prázdné.' << endl ;
}
jiný
{
cout << 'Ahoj, ' << uživatelské jméno << '! Vítejte na naší platformě.' << endl ;
}

vrátit se 0 ;
}

V tomto případě spustíme aplikaci, která uživatele požádá o zadání svého uživatelského jména. Program začíná deklarováním řetězcové proměnné s názvem „username“ pro uložení vstupu uživatele. Následně je uživatel vyzván zprávou „Zadejte své uživatelské jméno:“ a jeho vstup je zachycen pomocí streamu „cin“. Program poté pomocí podmíněného příkazu zkontroluje, zda je zadané uživatelské jméno prázdné, čehož dosáhneme přímým porovnáním s prázdným řetězcovým literálem pomocí operátoru rovnosti (==). Pokud se zjistí, že uživatelské jméno je prázdné, program vypíše chybovou zprávu, která říká: 'Chyba: Uživatelské jméno nemůže být prázdné'. Pokud však uživatelské jméno není prázdné, program zobrazí personalizovanou uvítací zprávu, která obsahuje zadané uživatelské jméno s pozdravem „Dobrý den, [uživatelské jméno]! Vítejte na naší platformě“.

Zde je výstup, kde jsme nezadali žádné uživatelské jméno:

Výstup při zadání uživatelského jména je následující:

Metoda 4: Použití ternárního operátora

Ternární operátor výstižně vyjadřuje podmíněný příkaz na jednom řádku, díky čemuž je kód kompaktnější. Ternární operátor vrátí jednu ze dvou hodnot po vyhodnocení podmínky, aby zjistil, zda je řetězec prázdný. V tomto případě můžeme pomocí členské funkce „empty()“ zkontrolovat prázdnotu a použít ternární operátor k přiřazení odpovídající zprávy.

Zde je názorný příklad:

#include
#include <řetězec>
použitím jmenný prostor std ;

int hlavní ( ) {
string sampleString = 'Ahoj světe!' ;

cout << 'Řetězec je' << ( sampleString. prázdný ( ) ? 'prázdný.' : 'není prázdný.' ) << endl ;

vrátit se 0 ;
}

Poté deklarujeme řetězcovou proměnnou s názvem „sampleString“ a inicializujeme ji příkazem „Hello, World!“ obsah. K určení, zda je řetězec prázdný, používáme ternární operátor v příkazu „cout“. Ternární operátor vyhodnotí podmínku „sampleString.empty()“, zkontroluje, zda je řetězec prázdný, a vypíše odpovídající zprávu „Řetězec je prázdný“, pokud je podmínka pravdivá, a „Řetězec není prázdný“, pokud je podmínka splněna. Nepravdivé. Program končí návratem 0, což znamená úspěšné spuštění. Spuštění tohoto programu generuje následující výstup:

Závěr

Zjištění, zda je řetězec C++ prázdný, je základem manipulace a zpracování řetězce. V tomto článku jsme prozkoumali několik metod, z nichž každá má své výhody. Členská funkce „empty()“ je nejpřímější a běžně používaná funkce, která jasně ukazuje prázdnotu řetězce. Použití „size()“ nabízí alternativní přístup kontrolou délky řetězce. Porovnání s prázdným řetězcovým literálem je jednoduché a intuitivní, zatímco ternární operátory poskytují flexibilitu při integraci kontroly do složitější logiky. Při výběru správného přístupu je třeba vzít v úvahu konkrétní potřeby programu.