Cum să detectați dacă un șir C++ este gol

Cum Sa Detectati Daca Un Sir C Este Gol



În programarea C++, gestionarea și manipularea datelor unui text este un aspect fundamental al dezvoltării software. Șirurile, care servesc ca secvențe de caractere, sunt esențiale în gestionarea datelor textuale. Un scenariu comun pe care programatorii îl întâlnesc adesea este necesitatea de a determina dacă un șir C++ este gol. Un șir care nu conține caractere se numește șir gol. Din fericire, C++ oferă metode simple în cadrul bibliotecii sale standard pentru a constata golul unui șir. Acest articol explorează metodele și tehnicile care sunt utilizate pentru a detecta dacă un șir C++ este gol, oferind o bază pentru gestionarea și validarea datelor șirului din programele dvs.

Metoda 1: Utilizarea funcției Empty() Member

O abordare simplă și încorporată în C++ pentru a determina dacă un șir este gol implică utilizarea funcției membru „empty()”. Funcția „empty()” face parte din clasa standard de șir de caractere C++ și oferă o modalitate convenabilă de a verifica dacă un șir nu are caractere.

Iată un exemplu simplu care ilustrează utilizarea funcției empty():







#include
#include <șir>
folosind spatiu de nume std ;

int principal ( ) {

string golStr ;

dacă ( golStr. gol ( ) ) {
cout << „Șnurul este gol”. << endl ;
} altfel {
cout << „Șnurul nu este gol”. << endl ;
}

întoarcere 0 ;
}

În acest fragment de cod C++, începem prin a include fișierele de antet necesare, cum ar fi și , pentru a facilita operațiunile de intrare și de ieșire și, respectiv, pentru a lucra cu șiruri. În cadrul funcției „main()”, declarăm o variabilă șir numită „emptyStr”. Acest șir este inițial gol, fără niciun caracter. Apoi, folosim funcția membru „empty()” furnizată de clasa „șir” C++. După cum sugerează și numele, funcția „empty()” verifică dacă șirul pe care este apelat este gol sau nu.



În cazul nostru, invocăm această funcție pe șirul „emptyStr”. După aceasta, folosim o instrucțiune condiționată pentru a evalua rezultatul boolean care este returnat de funcția „empty()”. Dacă șirul este într-adevăr gol, programul nostru emite un mesaj care indică faptul că șirul este gol. Pe de altă parte, dacă șirul conține caractere, programul emite un mesaj care afirmă că șirul nu este gol.



Ieșirea codului C++ furnizat este după cum urmează:





Metoda 2: Utilizarea funcției membru Size()

O altă abordare pentru a detecta dacă un șir C++ este gol implică utilizarea funcției membru „size()” furnizată de clasa „șir”. Spre deosebire de funcția „empty()” care returnează direct un boolean care indică gol, „size()” returnează numărul de caractere care sunt prezente în șir. Pentru a verifica golul, comparăm rezultatul „size()” cu zero, deoarece un șir gol are o dimensiune zero.



Iată un exemplu:

#include
#include <șir>
folosind spatiu de nume std ;

int principal ( ) {

șir myEmptyString ;

dacă ( myEmptyString. mărimea ( ) == 0 ) {
cout << „Șirul furnizat este gol”. << endl ;
} altfel {
cout << „Șirul furnizat nu este gol”. << endl ;
}

întoarcere 0 ;
}

În acest exemplu, începem prin a declara o variabilă șir numită „myEmptyString” fără a o inițializa, lăsând-o necompletată implicit. Mergând înainte, invocăm funcția „size()” pentru a determina dimensiunea sau numărul de caractere din șirul „myEmptyString”. Declarația „dacă” evaluează dacă dimensiunea este egală cu zero, ceea ce indică faptul că șirul este gol. Dacă această condiție este îndeplinită, trimitem un mesaj către consolă care afirmă că șirul furnizat este gol. În schimb, dacă dimensiunea este diferită de zero, fluxul de control trece la blocul „altfel” și este afișat un mesaj diferit care confirmă că șirul furnizat nu este gol.

Metoda 3: Utilizarea unei comparații cu un literal șir gol

O tehnică suplimentară pentru a determina dacă un șir C++ este gol implică o comparație directă cu un șir literal gol. Un literal șir gol este reprezentat de o pereche de ghilimele duble fără caractere între ele, cum ar fi „”. Putem stabili dacă șirul conține vreun caracter comparând un șir dat cu acest literal șir gol.

Iată un exemplu care ilustrează această abordare:

#include
#include <șir>
folosind spatiu de nume std ;

int principal ( )
{
nume de utilizator șir ;

cout <> nume de utilizator ;

dacă ( nume de utilizator == '' )
{
cout << „Eroare: numele de utilizator nu poate fi gol.” << endl ;
}
altfel
{
cout << 'Buna ziua, ' << nume de utilizator << '! Bine ați venit pe platforma noastră.' << endl ;
}

întoarcere 0 ;
}

În acest caz, lansăm o aplicație care îi cere utilizatorului să furnizeze numele de utilizator. Programul începe prin declararea unei variabile șir numită „nume utilizator” pentru a stoca intrarea utilizatorului. Ulterior, utilizatorului i se solicită mesajul „Introduceți numele de utilizator:”, iar intrarea acestuia este capturată folosind fluxul „cin”. Programul folosește apoi o instrucțiune condiționată pentru a verifica dacă numele de utilizator introdus este gol, ceea ce se realizează prin compararea directă cu un literal șir gol folosind operatorul de egalitate (==). Dacă se constată că numele de utilizator este gol, programul emite un mesaj de eroare care spune „Eroare: numele de utilizator nu poate fi gol”. Cu toate acestea, dacă numele de utilizator nu este gol, programul afișează un mesaj de bun venit personalizat care încorporează numele de utilizator introdus cu salutul „Bună ziua, [nume utilizator]! Bun venit pe platforma noastră”.

Iată rezultatul în care nu am furnizat niciun nume de utilizator:

Ieșirea atunci când este furnizat un nume de utilizator este după cum urmează:

Metoda 4: Utilizarea unui operator ternar

Operatorul ternar exprimă concis o instrucțiune condiționată într-o singură linie, ceea ce face codul mai compact. Operatorul ternar returnează una dintre cele două valori după ce a evaluat condiția pentru a vedea dacă șirul este gol. În acest caz, putem folosi funcția membru „empty()” pentru a verifica golul și pentru a folosi operatorul ternar pentru a atribui un mesaj corespunzător.

Iată un exemplu ilustrativ:

#include
#include <șir>
folosind spatiu de nume std ;

int principal ( ) {
string sampleString = 'Salut Lume!' ;

cout << 'Corul este' << ( sampleString. gol ( ) ? 'gol.' : „nu gol”. ) << endl ;

întoarcere 0 ;
}

Apoi declarăm o variabilă șir numită „sampleString” și o inițializam cu „Hello, World!” conţinut. Utilizăm un operator ternar în instrucțiunea „cout” pentru a determina dacă șirul este gol. Operatorul ternar evaluează condiția „sampleString.empty()”, verificând dacă șirul este gol și tipărește mesajul corespunzător „Șirul este gol” dacă condiția este adevărată și „Șirul nu este gol” dacă condiția este fals. Programul se încheie prin returnarea 0, ceea ce indică o rulare reușită. Execuția acestui program generează următoarele rezultate:

Concluzie

Detectarea dacă un șir C++ este gol este fundamental pentru manipularea și procesarea șirurilor. În acest articol, am explorat mai multe metode, fiecare cu avantajele sale. Funcția membru „empty()” este cea mai directă și mai frecvent utilizată funcție care indică în mod clar golul unui șir. Utilizarea „size()” oferă o abordare alternativă prin verificarea lungimii șirului. Comparația cu un literal șir gol este simplă și intuitivă, în timp ce operatorii ternari oferă flexibilitate în integrarea verificării într-o logică mai complexă. Nevoile specifice ale programului trebuie luate în considerare atunci când se selectează abordarea potrivită.