Πώς να εντοπίσετε εάν μια συμβολοσειρά C++ είναι κενή

Pos Na Entopisete Ean Mia Symboloseira C Einai Kene



Στον προγραμματισμό C++, η διαχείριση και ο χειρισμός δεδομένων κειμένου είναι μια θεμελιώδης πτυχή της ανάπτυξης λογισμικού. Οι συμβολοσειρές, που χρησιμεύουν ως ακολουθίες χαρακτήρων, είναι καθοριστικής σημασίας για τη διαχείριση δεδομένων κειμένου. Ένα κοινό σενάριο που αντιμετωπίζουν συχνά οι προγραμματιστές είναι η ανάγκη να προσδιορίσουν εάν μια συμβολοσειρά C++ είναι κενή. Μια συμβολοσειρά που δεν περιέχει χαρακτήρες ονομάζεται κενή συμβολοσειρά. Ευτυχώς, η C++ προσφέρει απλές μεθόδους στην τυπική βιβλιοθήκη της για να εξακριβώσει το κενό μιας συμβολοσειράς. Αυτό το άρθρο διερευνά τις μεθόδους και τις τεχνικές που χρησιμοποιούνται για τον εντοπισμό εάν μια συμβολοσειρά C++ είναι κενή, παρέχοντας μια βάση για το χειρισμό και την επικύρωση των δεδομένων συμβολοσειράς στα προγράμματά σας.

Μέθοδος 1: Χρήση της συνάρτησης Empty() Member

Μια απλή και ενσωματωμένη προσέγγιση στη C++ για να προσδιοριστεί εάν μια συμβολοσειρά είναι κενή περιλαμβάνει τη χρήση της συνάρτησης μέλους 'empty()'. Η συνάρτηση 'empty()' είναι μέρος της τυπικής κλάσης συμβολοσειρών C++ και παρέχει έναν βολικό τρόπο ελέγχου εάν μια συμβολοσειρά δεν έχει χαρακτήρες.

Ακολουθεί ένα απλό παράδειγμα που επεξηγεί τη χρήση της συνάρτησης άδειας():







#include
#include
χρησιμοποιώντας χώρο ονομάτων std ;

ενθ κύριος ( ) {

συμβολοσειρά άδειαΣτρ ;

αν ( κενόΣτρ. αδειάζω ( ) ) {
cout << 'Η συμβολοσειρά είναι άδεια.' << endl ;
} αλλού {
cout << 'Η συμβολοσειρά δεν είναι άδεια.' << endl ;
}

ΕΠΙΣΤΡΟΦΗ 0 ;
}

Σε αυτό το απόσπασμα κώδικα C++, ξεκινάμε συμπεριλαμβάνοντας τα απαραίτητα αρχεία κεφαλίδας, όπως και , για να διευκολύνουμε τις λειτουργίες εισόδου και εξόδου και την εργασία με συμβολοσειρές, αντίστοιχα. Μέσα στη συνάρτηση 'main()', δηλώνουμε μια μεταβλητή συμβολοσειράς με το όνομα 'emptyStr'. Αυτή η συμβολοσειρά είναι αρχικά κενή, χωρίς κανένα χαρακτήρα. Στη συνέχεια, χρησιμοποιούμε τη συνάρτηση μέλους 'empty()' που παρέχεται από την κλάση 'string' της C++. Όπως υποδηλώνει το όνομα, η συνάρτηση “empty()” ελέγχει εάν η συμβολοσειρά στην οποία καλείται είναι κενή ή όχι.



Στην περίπτωσή μας, καλούμε αυτή τη συνάρτηση στη συμβολοσειρά 'emptyStr'. Μετά από αυτό, χρησιμοποιούμε μια δήλωση υπό όρους για να αξιολογήσουμε το αποτέλεσμα Boolean που επιστρέφεται από τη συνάρτηση 'empty()'. Εάν η συμβολοσειρά είναι πράγματι άδεια, το πρόγραμμά μας βγάζει ένα μήνυμα που υποδεικνύει ότι η συμβολοσειρά είναι κενή. Από την άλλη πλευρά, εάν η συμβολοσειρά περιέχει χαρακτήρες, το πρόγραμμα βγάζει ένα μήνυμα που δηλώνει ότι η συμβολοσειρά δεν είναι κενή.



Η έξοδος του παρεχόμενου κώδικα C++ είναι η εξής:





Μέθοδος 2: Χρήση της συνάρτησης μέλους Size().

Μια άλλη προσέγγιση για τον εντοπισμό του εάν μια συμβολοσειρά C++ είναι κενή περιλαμβάνει τη χρήση της συνάρτησης μέλους 'size()' που παρέχεται από την κλάση 'string'. Σε αντίθεση με τη συνάρτηση 'empty()' που επιστρέφει απευθείας ένα Boolean που υποδηλώνει κενό, το 'size()' επιστρέφει τον αριθμό των χαρακτήρων που υπάρχουν στη συμβολοσειρά. Για να ελέγξουμε για κενό, συγκρίνουμε το αποτέλεσμα του 'size()' με το μηδέν, καθώς μια κενή συμβολοσειρά έχει μηδενικό μέγεθος.



Εδώ είναι ένα παράδειγμα:

#include
#include
χρησιμοποιώντας χώρο ονομάτων std ;

ενθ κύριος ( ) {

συμβολοσειρά myEmptyString ;

αν ( myEmptyString. Μέγεθος ( ) == 0 ) {
cout << 'Η παρεχόμενη συμβολοσειρά είναι κενή.' << endl ;
} αλλού {
cout << 'Η παρεχόμενη συμβολοσειρά δεν είναι κενή.' << endl ;
}

ΕΠΙΣΤΡΟΦΗ 0 ;
}

Σε αυτό το παράδειγμα, ξεκινάμε δηλώνοντας μια μεταβλητή συμβολοσειράς με το όνομα 'myEmptyString' χωρίς να την αρχικοποιήσουμε, αφήνοντάς την κενή από προεπιλογή. Προχωρώντας προς τα εμπρός, καλούμε τη συνάρτηση 'size()' για να προσδιορίσουμε το μέγεθος ή τον αριθμό των χαρακτήρων στη συμβολοσειρά 'myEmptyString'. Η δήλωση 'if' αξιολογεί εάν το μέγεθος ισούται με μηδέν, γεγονός που δείχνει ότι η συμβολοσειρά είναι κενή. Εάν πληρούται αυτή η συνθήκη, βγάζουμε ένα μήνυμα στην κονσόλα που δηλώνει ότι η παρεχόμενη συμβολοσειρά είναι κενή. Αντίθετα, εάν το μέγεθος είναι μη μηδενικό, η ροή ελέγχου μετατοπίζεται στο μπλοκ 'άλλο' και εμφανίζεται ένα διαφορετικό μήνυμα που επιβεβαιώνει ότι η παρεχόμενη συμβολοσειρά δεν είναι κενή.

Μέθοδος 3: Χρήση σύγκρισης με κενή συμβολοσειρά κυριολεκτικά

Μια πρόσθετη τεχνική για τον προσδιορισμό του εάν μια συμβολοσειρά C++ είναι κενή περιλαμβάνει μια άμεση σύγκριση με μια κενή συμβολοσειρά κυριολεκτικά. Μια κενή συμβολοσειρά κυριολεκτικά αντιπροσωπεύεται από ένα ζεύγος διπλών εισαγωγικών χωρίς χαρακτήρες μεταξύ τους όπως ''. Μπορούμε να εξακριβώσουμε εάν η συμβολοσειρά περιέχει κάποιον χαρακτήρα συγκρίνοντας μια δεδομένη συμβολοσειρά με αυτήν την κενή συμβολοσειρά κυριολεκτικά.

Ακολουθεί ένα παράδειγμα που επεξηγεί αυτήν την προσέγγιση:

#include
#include
χρησιμοποιώντας χώρο ονομάτων std ;

ενθ κύριος ( )
{
όνομα χρήστη συμβολοσειράς ;

cout <> όνομα χρήστη ;

αν ( όνομα χρήστη == '' )
{
cout << 'Σφάλμα: Το όνομα χρήστη δεν μπορεί να είναι κενό.' << endl ;
}
αλλού
{
cout << 'Γειά σου, ' << όνομα χρήστη << '! Καλώς ήρθατε στην πλατφόρμα μας.' << endl ;
}

ΕΠΙΣΤΡΟΦΗ 0 ;
}

Σε αυτήν την περίπτωση, εκκινούμε μια εφαρμογή που ζητά από τον χρήστη να δώσει το όνομα χρήστη του. Το πρόγραμμα ξεκινά δηλώνοντας μια μεταβλητή συμβολοσειράς με το όνομα «όνομα χρήστη» για να αποθηκεύσει την είσοδο του χρήστη. Στη συνέχεια, ο χρήστης λαμβάνει το μήνυμα 'Εισαγάγετε το όνομα χρήστη σας:' και η εισαγωγή του καταγράφεται χρησιμοποιώντας τη ροή 'cin'. Στη συνέχεια, το πρόγραμμα χρησιμοποιεί μια δήλωση υπό όρους για να ελέγξει εάν το όνομα χρήστη που εισάγατε είναι κενό, κάτι που επιτυγχάνεται συγκρίνοντάς το με μια κενή συμβολοσειρά κυριολεκτικά χρησιμοποιώντας τον τελεστή ισότητας (==). Εάν διαπιστωθεί ότι το όνομα χρήστη είναι κενό, το πρόγραμμα βγάζει ένα μήνυμα σφάλματος που αναφέρει, 'Σφάλμα: Το όνομα χρήστη δεν μπορεί να είναι κενό'. Ωστόσο, εάν το όνομα χρήστη δεν είναι κενό, το πρόγραμμα εμφανίζει ένα εξατομικευμένο μήνυμα καλωσορίσματος που ενσωματώνει το εισαγόμενο όνομα χρήστη με τον χαιρετισμό 'Γεια, [όνομα χρήστη]! Καλώς ορίσατε στην πλατφόρμα μας'.

Ακολουθεί η έξοδος όπου δεν δώσαμε κανένα όνομα χρήστη:

Η έξοδος όταν παρέχεται ένα όνομα χρήστη είναι η εξής:

Μέθοδος 4: Χρήση τριαδικού χειριστή

Ο τριαδικός τελεστής εκφράζει συνοπτικά μια δήλωση υπό όρους σε μία μόνο γραμμή που κάνει τον κώδικα πιο συμπαγή. Ο τριαδικός τελεστής επιστρέφει μία από τις δύο τιμές αφού αξιολογήσει τη συνθήκη για να δει εάν η συμβολοσειρά είναι κενή. Σε αυτήν την περίπτωση, μπορούμε να χρησιμοποιήσουμε τη συνάρτηση μέλους 'empty()' για να ελέγξουμε για κενό και να χρησιμοποιήσουμε τον τριαδικό τελεστή για να εκχωρήσουμε ένα αντίστοιχο μήνυμα.

Ακολουθεί ένα ενδεικτικό παράδειγμα:

#include
#include
χρησιμοποιώντας χώρο ονομάτων std ;

ενθ κύριος ( ) {
string sampleString = 'Γειά σου Κόσμε!' ;

cout << 'Η χορδή είναι' << ( sampleString. αδειάζω ( ) ? 'αδειάζω.' : 'όχι άδειο.' ) << endl ;

ΕΠΙΣΤΡΟΦΗ 0 ;
}

Στη συνέχεια δηλώνουμε μια μεταβλητή συμβολοσειράς με το όνομα 'sampleString' και την αρχικοποιούμε με το 'Hello, World!' περιεχόμενο. Χρησιμοποιούμε έναν τριαδικό τελεστή μέσα στην πρόταση 'cout' για να προσδιορίσουμε εάν η συμβολοσειρά είναι κενή. Ο τριαδικός τελεστής αξιολογεί τη συνθήκη 'sampleString.empty()', ελέγχοντας εάν η συμβολοσειρά είναι κενή και εκτυπώνει το αντίστοιχο μήνυμα 'Η συμβολοσειρά είναι κενή' εάν η συνθήκη είναι αληθής και 'Η συμβολοσειρά δεν είναι κενή' εάν η συνθήκη είναι ψευδής. Το πρόγραμμα τελειώνει επιστρέφοντας 0 που υποδηλώνει μια επιτυχημένη εκτέλεση. Η εκτέλεση αυτού του προγράμματος δημιουργεί την ακόλουθη έξοδο:

συμπέρασμα

Ο εντοπισμός εάν μια συμβολοσειρά C++ είναι κενή είναι θεμελιώδους σημασίας για τον χειρισμό και την επεξεργασία συμβολοσειρών. Σε αυτό το άρθρο, εξερευνήσαμε διάφορες μεθόδους, καθεμία με τα πλεονεκτήματά της. Η συνάρτηση μέλους 'empty()' είναι η πιο άμεση και ευρέως χρησιμοποιούμενη συνάρτηση που δείχνει ξεκάθαρα το κενό μιας συμβολοσειράς. Η χρήση του 'size()' προσφέρει μια εναλλακτική προσέγγιση ελέγχοντας το μήκος της συμβολοσειράς. Η σύγκριση με μια κενή συμβολοσειρά κυριολεκτικά είναι απλή και διαισθητική, ενώ οι τριαδικοί τελεστές παρέχουν ευελιξία στην ενσωμάτωση του ελέγχου σε μια πιο περίπλοκη λογική. Οι ιδιαίτερες ανάγκες του προγράμματος πρέπει να λαμβάνονται υπόψη κατά την επιλογή της σωστής προσέγγισης.