Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> C /C + + Προγραμματισμός

Μήκος String χωρίς ενσωματωμένη λειτουργία σε C + +

Κανονικά , ένας προγραμματιστής μπορεί να ανακτήσει τη διάρκεια της ποινής ( ή string) σε κάθε C + + πρόγραμμα κελεύσματα " μήκος ( ) " μέθοδος της στοιχειοσειράς . Ωστόσο , χορδές , όπως εφαρμόζεται σε C + + δεν ήταν πάντοτε διαθέσιμες , και οι προγραμματιστές δεν έχουν πρόσβαση σε έτοιμα μεθόδους, όπως το μήκος ( ) . Μετρώντας το μήκος μιας συμβολοσειράς χωρίς τη χρήση ενσωματωμένο το παραπάνω μέθοδος περιλαμβάνει την κατανόηση των χορδών, συστοιχίες χαρακτήρα c - στυλ , και πώς να μετακινηθείτε πάνω τους . C + + και C Χορδές Χορδές
Η

Στην C + + , το ενσωματωμένο τύπο δεδομένων " string" αντιπροσωπεύει προτάσεις, φράσεις ή λέξεις . Ωστόσο , ο τύπος δεδομένων συμβολοσειράς αντιπροσωπεύει στην πραγματικότητα αυτό που οι προγραμματιστές αποκαλούν « c- style " string . Στην αρχική γλώσσα C , προγραμματιστές αποθηκεύονται ποινές ως συλλογές ( ή πίνακες) των χαρακτήρων . Έτσι, ενώ σε C ​​+ + , μια μεταβλητή φράση δήλωση μοιάζει :

σειρά str = " Hello" ?

Στο C , η ίδια δήλωση μοιάζει :

char str [ 50 ] = " Hello" ?

Όπου " str " αντιπροσωπεύει μια σειρά από 50 χαρακτήρες . Επιπλέον , δεδομένου ότι χορδές C - στυλ είναι απλά πίνακες , όλοι τέλος με ένα Null χαρακτήρα τερματισμού ( " \\ 0 " ), που σηματοδοτεί το τέλος του string .
Εικόνων Το « c_str ( ) " Μέθοδος

το ενδιαφέρον πράγμα για έγχορδα σε C + + είναι ότι είναι μια κατηγορία , και ως μια κατηγορία περιλαμβάνει τις μεθόδους για να κάνει τη δουλειά για την σειρά . Μία από αυτές τις μεθόδους ( " c_str ()" ) επιστρέφει μια συμβολοσειρά C- στυλ που αντιπροσωπεύει το C + + χορδή. Αυτό σημαίνει ότι η τιμή που επιστρέφεται θα καταλήξει ως ένα πίνακα χαρακτήρων που περιέχει τους χαρακτήρες της σειράς, συμπεριλαμβανομένου του χαρακτήρα null τερματισμού .

Η αντιγραφή του C String
Η

για να γίνει πραγματικότητα κάτι με τη σειρά C - style προέρχονται από c_str ( ) , ο προγραμματιστής πρέπει να το βάλετε σε μια σειρά χαρακτήρων . Αυτό απαιτεί τη μέθοδο " strcpy " , το οποίο θα αντιγράψει συστοιχία ένα χαρακτήρα στον άλλο :

# include

# include

# include

χρησιμοποιώντας namespace std ?

str String = " A String " ?

char str2 [ 50 ] ?

strcpy ( str2 , str . c_str ( ) )

τώρα , η C - style αναπαράσταση ως συμβολοσειράς " str " θα αντιγράψει στο χαρακτήρα πίνακα " str2 " ( συμπεριλαμβανομένων των μηδενικών χαρακτήρων ) .
εικόνων Μετρώντας το χαρακτήρες
Η

τώρα που ο προγραμματιστής έχει ένα αντίγραφο πίνακα του string, συμπεριλαμβανομένου του null χαρακτήρα που θα ενημερώνει τον προγραμματιστή όταν τελειώνει η σειρά , γίνεται ένα θέμα απλά μετρώντας τους χαρακτήρες μέχρι το πρόγραμμα να χτυπά το null χαρακτήρα :

int i = 0 ?

ενώ ( ! str2 [ i ] = " \\ 0 " ) {

i + +

}

cout <

ο "ενώ" ελέγχους βρόχων κάθε χαρακτήρα από την αρχή ( το 0th θέση του χαρακτήρα ), μέχρι να φτάσει το null χαρακτήρα . Στη συνέχεια , οι εκτυπώσεις του προγράμματος i +1 ( επειδή ο δείκτης ξεκινά από το 0 , και η μηδενική θέση του χαρακτήρα δεν υπολογίζεται ), η οποία οδηγεί σε μια τιμή επιστροφής της 8 .
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα