string functions c
Σε αυτό το σεμινάριο, θα συζητήσουμε μερικές από τις δημοφιλείς συναρτήσεις συμβολοσειράς στο C ++ όπως το substring getline, το μήκος συμβολοσειράς, το εύρος συμβολοσειρών, το διαχωρισμένο συμβολοσειρά κ.λπ .:
Το C ++ έχει μια κλάση συμβολοσειρών που χρησιμοποιείται για μια ακολουθία χαρακτήρων που είναι επίσης γνωστή ως συμβολοσειρές. Αυτή η τάξη είναι std :: συμβολοσειρά . Αυτή η τάξη αποθηκεύει τις συμβολοσειρές ως ακολουθία bytes χαρακτήρων και παρέχει λειτουργίες που μας επιτρέπουν να χειριστούμε, να αποκτήσουμε πρόσβαση και να διαβάσουμε τις συμβολοσειρές, καθώς και να αποκτήσουμε πρόσβαση και να χειριστούμε μεμονωμένους χαρακτήρες.
Πώς μπορώ να βρω το κλειδί ασφαλείας δικτύου
=> Επισκεφθείτε εδώ για το πλήρες μάθημα C ++ από ειδικούς.
Τι θα μάθετε:
Λειτουργίες συμβολοσειράς C ++
Η συμβολοσειρά C ++ είναι μια ακολουθία χαρακτήρων. Όταν ορίζουμε συμβολοσειρές στο C ++, χρησιμοποιούμε μια συμβολοσειρά
λέξη-κλειδί που δεν είναι παρά std :: string class. Αυτή η κλάση συμβολοσειρών υποστηρίζει διάφορες λειτουργίες από την ανάγνωση μιας συμβολοσειράς, τη χειραγώγηση, την πρόσβαση σε μια συμβολοσειρά κ.λπ. που εκτελούν διαφορετικές λειτουργίες σε αντικείμενα συμβολοσειράς. Μερικές λειτουργίες που χρησιμοποιούνται συχνά αναφέρονται παρακάτω-
Μην | Συναρτήσεις συμβολοσειράς | Περιγραφή |
---|---|---|
1 | γραμμή | Παίρνει τη γραμμή από τη ροή στη συμβολοσειρά |
δύο | υπόστρωμα | Λάβετε ένα υπόστρωμα μιας δεδομένης συμβολοσειράς |
4 | Μήκος, strlen | Πάρτε το μήκος της συμβολοσειράς |
5 | Εύρημα | Βρείτε περιεχόμενο σε συμβολοσειρά |
6 | Strtok, υπόστρωμα με οριοθέτη | Διαχωρισμός συμβολοσειράς σε διακριτικά |
getline C ++
Πρωτότυπο λειτουργίας: istream & getline (istream & is, string & str)
Παράμετροι): είναι => αντικείμενο istream από το οποίο εξάγονται οι χαρακτήρες.
str => Αντικείμενο συμβολοσειράς που χρησιμοποιείται για την αποθήκευση εξαγόμενου χαρακτήρα.
Αξία επιστροφής: Η τιμή επιστροφής είναι η ίδια με το istream. Εσωτερικά, η εκτέλεση του getline ορίζει ορισμένες εσωτερικές σημαίες ως εξής.
σημαία | Περιγραφή σφάλματος |
---|---|
eofbit | Έφτασε το τέλος της πηγής χαρακτήρων |
αποτυχία | Η εισαγωγή δεν μπορεί να ερμηνευθεί ως έγκυρη αναπαράσταση κειμένου του αντικειμένου αυτού του τύπου |
κακός | Οποιοδήποτε άλλο σφάλμα εκτός από τα παραπάνω δύο |
Περιγραφή: Το getline είναι μια τυπική λειτουργία βιβλιοθήκης. Αυτή η συνάρτηση χρησιμοποιείται για την ανάγνωση μιας γραμμής ή μιας συμβολοσειράς από μια τυπική ροή εισόδου όπως το istream. Οι γραμμές ή οι συμβολοσειρές διαβάζονται μέχρι να εμφανιστεί το ' n' που θεωρείται ως χαρακτήρας οριοθέτησης.
Ως διαφορετική έκδοση του getline, μπορεί να καθοριστεί μια τρίτη παράμετρος 'char delim'. Αυτός είναι ένας χαρακτήρας οριοθέτησης που προσδιορίζεται ρητά. Σε αυτήν τη συνάρτηση, θα διαβάζεται μια γραμμή κειμένου ή συμβολοσειράς έως ότου συναντηθεί ο καθορισμένος χαρακτήρας οριοθέτη.
Δίνεται παρακάτω είναι ένα απλό παράδειγμα για να αποδειχθεί η χρήση του getline.
Παράδειγμα:
#include #include using namespace std; int main() { string mystr; cout<<'Enter the input string:'< Παραγωγή:
Εισαγάγετε τη συμβολοσειρά εισόδου:
Σεμινάρια C ++
Έχετε εισαγάγει: C ++ σεμινάρια

Στο παραπάνω παράδειγμα, διαβάζουμε μια συμβολοσειρά εισόδου χρησιμοποιώντας τη συνάρτηση getline. Λάβετε υπόψη ότι οι συμβολοσειρές ή το κείμενο που εισάγετε διαβάζονται στο αντικείμενο συμβολοσειράς mystr έως ότου συναντηθεί το « n».
Υπόστρωμα C ++
Πρωτότυπο λειτουργίας: συμβολοσειρά substr (size_t startpos, size_t endpos)
Παράμετροι): startpos => Θέση εκκίνησης από όπου πρόκειται να εξαχθεί το υπόστρωμα.
endpos => Τελική θέση του υποστρώματος.
Αξία επιστροφής: Επιστρέφει μια συμβολοσειρά που είναι υπόστρωμα της γονικής συμβολοσειράς.
Περιγραφή: Αυτή η συνάρτηση επιστρέφει ένα υπόστρωμα μιας δεδομένης συμβολοσειράς. Η συνάρτηση παίρνει τις θέσεις έναρξης και λήξης ως παραμέτρους και στη συνέχεια επιστρέφει την ακολουθία του χαρακτήρα μεταξύ αυτών των θέσεων.
Παράδειγμα:
#include #include using namespace std; int main() { string mystr = 'SoftwareTestingHelp'; string mysub = mystr.substr(0,8); cout<<'Input string : '< Παραγωγή:
Συμβολοσειρά εισόδου: SoftwareTestingHelp
Υποστρώματα (0,8): Λογισμικό

Μήκος C ++
Το μήκος της συμβολοσειράς είναι ο αριθμός των χαρακτήρων που υπάρχουν στη συμβολοσειρά. Η παράσταση συμβολοσειράς συμβολοσειράς std :: string στο C ++ χρησιμοποιεί τις συναρτήσεις length () για να επιστρέψει το μήκος της συμβολοσειράς.
Εκτός από αυτό, έχουμε επίσης μια μέθοδο μεγέθους που επιστρέφει το μέγεθος της συμβολοσειράς. Χρησιμοποιήσαμε τη μέθοδο μεγέθους στο παράδειγμα που φαίνεται παρακάτω για τη συνάρτηση length (). Μια άλλη συνάρτηση που επιστρέφει το μήκος της συμβολοσειράς είναι «strlen». Αυτή η συνάρτηση επιστρέφει το μήκος της συμβολοσειράς που υποδηλώνεται από έναν πίνακα χαρακτήρων.
Θα δούμε και τις δύο λειτουργίες μία προς μία με παραδείγματα.
μήκος()
Πρωτότυπο λειτουργίας: size_t μήκος ()
Παράμετροι): Επικαλούνται από τη συμβολοσειρά του οποίου το μήκος πρέπει να βρεθεί.
Αξία επιστροφής: Επιστρέφει μια παράμετρο τύπου size_t που είναι το μήκος της συμβολοσειράς.
Περιγραφή: Αυτή η συνάρτηση βρίσκει το μήκος του αντικειμένου συμβολοσειράς με το οποίο καλείται.
Παράδειγμα:
#include #include using namespace std; int main() { string mystr = 'SoftwareTestingHelp'; cout<<'Input string : '< Παραγωγή:
Συμβολοσειρά εισόδου: SoftwareTestingHelp
Το μήκος της συμβολοσειράς (με μέθοδο μήκους) είναι: 19
Το μέγεθος της συμβολοσειράς (με τη μέθοδο μεγέθους) είναι: 19

html συνεντεύξεις ερωτήσεις και απαντήσεις pdf
Στο παραπάνω πρόγραμμα, χρησιμοποιούμε το μήκος καθώς και τις λειτουργίες μεγέθους του std :: string που επιστρέφει το μήκος και το μέγεθος του αντικειμένου συμβολοσειράς αντίστοιχα. Καθώς το μήκος και το μέγεθος επιστρέφουν τον αριθμό των χαρακτήρων στη συμβολοσειρά, έχουμε την ίδια έξοδο.
strlen ()
Πρωτότυπο λειτουργίας: size_t strlen (const char * str);
Παράμετροι): str => Δείκτης σε μια συμβολοσειρά με μηδενικό άκρο το μήκος της οποίας πρέπει να βρεθεί.
Τιμή επιστροφής: R τιμή eturns size_t που υποδηλώνει το μήκος της συμβολοσειράς str.
Περιγραφή: Η συνάρτηση strlen () επιστρέφει το μήκος της συμβολοσειράς μηδενικής λήξης. Η συμβολοσειρά που λαμβάνεται ως παράμετρος από τη συνάρτηση strlen είναι ένας πίνακας χαρακτήρων με μηδενικό τερματισμό.
Παράδειγμα:
#include #include using namespace std; int main() { char mystr1() = 'This a our first string'; char mystr2() = 'This is our second string'; int len_mystr1 = strlen(mystr1); int len_mystr2 = strlen(mystr2); cout << 'Length of mystr1 = ' << len_mystr1 << endl; cout << 'Length of mystr2 = ' << len_mystr2 << endl; if (len_mystr1> len_mystr2) cout << 'mystr1 is longer than mystr2'; else if (len_mystr1 < len_mystr2) cout << 'mystr2 is longer than mystr1'; else cout << 'mystr1 and mystr2 are equal in length'; return 0; }
Παραγωγή:
Μήκος mystr1 = 23
Μήκος mystr2 = 25
Το mystr2 είναι μεγαλύτερο από το mystr1

Στο παραπάνω πρόγραμμα, έχουμε ορίσει δύο διαφορετικές χορδές και βρίσκουμε το ατομικό τους μήκος χρησιμοποιώντας τη συνάρτηση strlen. Στη συνέχεια συγκρίνουμε το μήκος των δύο χορδών και προσδιορίζουμε εάν οι χορδές είναι ίσες ή άνισες.
C ++ Εύρεση
Πρωτότυπο λειτουργίας: size_t find (συμβολοσειρά mysub)
Παράμετροι): mysub => Αντικείμενο συμβολοσειράς για εύρεση εντός της γονικής συμβολοσειράς.
Αξία επιστροφής: size_t => Πρώτη θέση του υποστρώματος στη γονική συμβολοσειρά
Περιγραφή: Η συνάρτηση εύρεσης της συμβολοσειράς χρησιμοποιείται για να βρει τη θέση του υποστρώματος στη μητρική συμβολοσειρά. Αυτή η συνάρτηση ενεργοποιείται από τη γονική συμβολοσειρά και ένα υπόστρωμα του οποίου η θέση πρόκειται να βρεθεί περνά ως παράμετρος. Εάν το υπόστρωμα δεν υπάρχει, επιστρέφεται μια κενή θέση.
Παράδειγμα:
#include #include using namespace std; int main() { string mystr = 'SoftwareTestingHelp'; string mysub = 'Test'; size_t pos = mystr.find(mysub); if (pos != string::npos) cout << 'First occurrence of string '< Παραγωγή:
Πρώτη εμφάνιση συμβολοσειράς Δοκιμή: 8
Πρώτη εμφάνιση συμβολοσειράς Βοήθεια: 15

Αυτό το πρόγραμμα ορίζει μια συμβολοσειρά ως 'SoftwareTestingHelp'. Χρησιμοποιώντας τη λειτουργία εύρεσης βρίσκουμε την πρώτη εμφάνιση της συμβολοσειράς 'Test' στη γονική συμβολοσειρά. Στη συνέχεια, βρίσκουμε την εμφάνιση της συμβολοσειράς 'Βοήθεια'. Η έξοδος είναι η θέση της εμφάνισης της συμβολοσειράς που αναζητήθηκε.
Διαχωριστική συμβολοσειρά
Ο διαχωρισμός μιας συμβολοσειράς με χρήση οριοθέτη ή διακριτικού είναι μια χρήσιμη λειτουργία. Στο C ++, καθώς έχουμε περισσότερες από μία αναπαράσταση συμβολοσειρών, μπορούμε να χρησιμοποιήσουμε διαφορετικές προσεγγίσεις για τη διάσπαση μιας συμβολοσειράς. Εδώ, θα συζητήσουμε δύο προσεγγίσεις για τη διάσπαση μιας συμβολοσειράς.
Διαχωρισμός std :: string Object
Η ευκολότερη προσέγγιση για να χωρίσετε ένα αντικείμενο συμβολοσειράς είναι να χρησιμοποιήσετε τη συνάρτηση «substr» στο αντικείμενο και να παρέχετε τον οριοθέτη ως τελική θέση, έτσι ώστε να λάβουμε το substring. Με αυτόν τον τρόπο, μπορούμε να χωρίσουμε τη συμβολοσειρά στο οριοθέτη έως ότου διασχίσουμε ολόκληρη τη συμβολοσειρά.
τι είναι ένα αρχείο flash shockwave
Ας δούμε το παρακάτω παράδειγμα που βρίσκει πρώτα τη θέση του οριοθέτη χρησιμοποιώντας τη συνάρτηση «εύρεση» και μετά βρίσκει το υπόστρωμα και τελικά εξάγει καθένα από τα διακριτικά.
#include #include using namespace std; int main() { string mystr = 'This_is_software_testing_help'; string delimiter = '_'; size_t pos = 0; string token; while ((pos = mystr.find(delimiter)) != std::string::npos) { token = mystr.substr(0, pos); cout << token << endl; mystr.erase(0, pos + delimiter.length()); } cout << mystr<< endl; }
Παραγωγή:
Αυτό
είναι
λογισμικό
δοκιμές
βοήθεια

Όπως φαίνεται στο παραπάνω πρόγραμμα, καθορίζουμε ένα οριοθέτη που θα χρησιμοποιηθεί για τη διάσπαση της δεδομένης συμβολοσειράς. Σε έναν βρόχο, βρίσκουμε επανειλημμένα την εμφάνιση οριοθέτη χρησιμοποιώντας τη συνάρτηση εύρεσης και τη μεταδίδουμε στη συνάρτηση υποστρώματος και ανακτούμε το υπόστρωμα. Στη συνέχεια, κάθε ένα από αυτά τα λαμβανόμενα διακριτικά εμφανίζεται ως έξοδος.
Διαχωρισμός συστοιχίας χαρακτήρων με χρήση της λειτουργίας strtok
Ένας άλλος τρόπος συμβολισμού μιας συμβολοσειράς (διαχωρισμός συμβολοσειράς με χρήση οριοθέτη) είναι με τη χρήση της συνάρτησης «strtok». Θα συζητήσουμε τις λεπτομέρειες της λειτουργίας «strtok» παρακάτω.
Πρωτότυπο λειτουργίας: char * strtok (char str (), const char * delim)
Παράμετροι): str () => Συμβολοσειρά για διαχωρισμό.
Delim => Οριοθέτης στον οποίο θα χωριστεί η συμβολοσειρά.
Αξία επιστροφής: Επιστρέφει το επόμενο διακριτικό μετά τη διάσπαση της γονικής συμβολοσειράς.
Περιγραφή: Η συνάρτηση strtok χωρίζει τη δεδομένη συμβολοσειρά σε διακριτικά σε συγκεκριμένους οριοθέτες. Αυτή η συνάρτηση πρέπει να κληθεί σε βρόχο, ώστε να έχουμε όλα τα διακριτικά για μια δεδομένη συμβολοσειρά. Όταν δεν υπάρχουν άλλα διακριτικά, η συνάρτηση επιστρέφει μηδενική.
Παράδειγμα:
#include #include using namespace std; int main() { char mystr() = 'This_is_software_testing_help'; char *token = strtok(mystr, '_'); while (token != NULL) { cout< Παραγωγή:
Αυτό
είναι
λογισμικό
δοκιμές
βοήθεια

Σημειώστε ότι, σε αυτό το πρόγραμμα, χρησιμοποιούμε τη συνάρτηση strtok που παίρνει μια συμβολοσειρά και οριοθέτη ως ορίσματα. Στη συνέχεια, χωρίζει τη συμβολοσειρά στο διακριτικό, βάσει του καθορισμένου οριοθέτη και εμφανίζει τα μεμονωμένα διακριτικά.
συμπέρασμα
Έχουμε δει μερικές από τις γενικές σημαντικές λειτουργίες που χρησιμοποιούνται για συμβολοσειρές C ++ σε αυτό το σεμινάριο.
Συζητήσαμε τις λειτουργίες για να διαβάσετε μια συμβολοσειρά εισόδου, να βρούμε μια συμβολοσειρά, ένα υπόστρωμα της γονικής συμβολοσειράς, το μήκος της συμβολοσειράς, να χωρίσουμε μια συμβολοσειρά κ.λπ. μαζί με τις παραλλαγές τους. Αυτές οι λειτουργίες μας βοηθούν να διαβάζουμε και να χειριζόμαστε αποτελεσματικά τις χορδές.
Στο επόμενο σεμινάριό μας, θα δούμε μερικές από τις συναρτήσεις μετατροπής που χρησιμοποιούνται με τη συμβολοσειρά C ++ λεπτομερώς.
=> Επισκεφθείτε εδώ για να δείτε ολόκληρη τη σειρά προπόνησης C ++ για όλους.
Συνιστώμενη ανάγνωση
- Λειτουργίες συμβολοσειράς Python
- Java String με String Buffer και String Builder Tutorial
- Λειτουργίες μετατροπής χαρακτήρων C ++: char σε int, char σε string
- Λειτουργίες συμβολοσειράς VBScript: Λειτουργίες VBScript inStr, Replace, Mid και Trim
- Εκμάθηση Python String Split
- C # String Tutorial - Μέθοδοι συμβολοσειράς με παραδείγματα κώδικα
- Λειτουργίες Python
- String Array C ++: Υλοποίηση & αναπαράσταση με παραδείγματα