c character classification
Αυτό το σεμινάριο εξηγεί C ++ χαρακτήρες & λειτουργίες μετασχηματισμού με παραδείγματα. Ορισμένες σημαντικές λειτουργίες που καλύπτονται είναι isdigit, islower, isupper, isalpha κ.λπ .:
Στο προηγούμενο σεμινάριό μας σχετικά με τις «λειτουργίες βιβλιοθήκης», είδαμε τις διάφορες κεφαλίδες που παρέχουν πολλές λειτουργίες που λειτουργούν σε διαφορετικούς τύπους δεδομένων. Η κεφαλίδα είναι μια τέτοια κεφαλίδα που περιέχει ένα σύνολο λειτουργιών που ταξινομούν και χειρίζονται μεμονωμένους χαρακτήρες.
=> Επισκεφθείτε εδώ για να μάθετε C ++ από το μηδέν.
Οι συναρτήσεις που δηλώνονται στην κεφαλίδα, λαμβάνουν έναν μόνο χαρακτήρα (ισοδύναμο int) ως παράμετρο και επιστρέφουν μια ακέραια τιμή που μπορεί να είναι είτε μια τιμή Boolean είτε μια τιμή χαρακτήρα. Η τιμή 0 (μηδέν) υποδεικνύει ψευδές, ενώ μια τιμή διαφορετική από το 0 (μη μηδέν) δείχνει αληθές.
Αυτές οι λειτουργίες ενός χαρακτήρα μπορούν να χρησιμοποιηθούν στο πρόγραμμα συμπεριλαμβάνοντας την κεφαλίδα. Αυτές οι λειτουργίες χρησιμοποιούνται ευρέως και γίνονται αποδεκτές και είναι εξαιρετικά χρήσιμες στον προγραμματισμό C ++ για τη δοκιμή και τη μετατροπή ή χειρισμό χαρακτήρων.
Σε αυτό το σεμινάριο, θα συζητήσουμε τις διάφορες λειτουργίες χαρακτήρων και θα δούμε πώς καθεμία από αυτές τις λειτουργίες μπορεί να χρησιμοποιηθεί σε ένα πρόγραμμα.
Τι θα μάθετε:
Λειτουργίες χαρακτήρων C ++
Οι λειτουργίες χαρακτήρων C ++ είναι οι συναρτήσεις που λαμβάνουν μόνο έναν χαρακτήρα ως παράμετρο (μεταδίδεται στο int) και επιστρέφουν ένα αποτέλεσμα. Αυτές μπορεί να είναι λειτουργίες ταξινόμησης, όπως isalpha, isalnum, isdigit, islower, isupper κ.λπ., για να αναφέρουμε μερικές και λειτουργίες μετατροπής όπως toupper και tolower που μετασχηματίζουν έναν δεδομένο χαρακτήρα σε κεφαλαία ή πεζά αντίστοιχα.
Στην κεφαλίδα, έχουμε δύο τύπους συναρτήσεων που ορίζονται παρακάτω.
(i) Λειτουργίες ταξινόμησης χαρακτήρων
Οι λειτουργίες ταξινόμησης χαρακτήρων χρησιμοποιούνται για να ελέγξουν εάν ο μεμονωμένος χαρακτήρας που μεταβιβάστηκε ως όρισμα στη συνάρτηση ανήκει σε μια συγκεκριμένη κατηγορία.
Έχουμε διαβάσει τις λειτουργίες ταξινόμησης χαρακτήρων που περιλαμβάνονται στην κεφαλίδα παρακάτω:
Μην | Όνομα συνάρτησης | Σκοπός λειτουργίας |
---|---|---|
7 | πιο χαμηλός | Ελέγχει εάν ένας δεδομένος χαρακτήρας είναι πεζός |
1 | isalnum | Ελέγχει εάν ένας δεδομένος χαρακτήρας είναι αλφαριθμητικός |
δύο | ισλάφα | Ελέγχει εάν ο χαρακτήρας είναι αλφαβητικός |
3 | είναι κενό | Ελέγχει εάν ο χαρακτήρας είναι κενός |
4 | iscntrl | Ελέγχει εάν ο δεδομένος χαρακτήρας είναι χαρακτήρας ελέγχου |
5 | isdigit | Ελέγχει εάν ο δεδομένος χαρακτήρας είναι δεκαδικό ψηφίο |
6 | ισογράφος | Ελέγχει εάν ο δεδομένος χαρακτήρας έχει γραφική παράσταση |
8 | Τυπώνω | Ελέγχει εάν ο χαρακτήρας είναι εκτυπώσιμος χαρακτήρας |
9 | ispunct | Ελέγχει εάν ο χαρακτήρας είναι χαρακτήρας στίξης |
10 | έκδοση | Ελέγχει αν ο χαρακτήρας είναι κενό |
έντεκα | ισπανικός | Ελέγχει εάν ο δεδομένος χαρακτήρας είναι κεφαλαίος |
12 | isxdigit | Ελέγχει εάν ο χαρακτήρας δεκαεξαδικό ψηφίο |
(ii) Λειτουργίες μετασχηματισμού χαρακτήρων
Οι συναρτήσεις μετατροπής χαρακτήρων μετατρέπονται μεταξύ περιπτώσεων. Οι ακόλουθες λειτουργίες περιλαμβάνονται στο αρχείο.
Μην | Όνομα συνάρτησης | Σκοπός λειτουργίας |
---|---|---|
1 | να μειώσει | Μετατρέπει τον κεφαλαίο χαρακτήρα σε πεζά |
δύο | ανατροπέας | Μετατρέπει τον πεζό χαρακτήρα σε κεφαλαίο |
Ας δούμε λεπτομερώς καθεμία από τις συναρτήσεις χαρακτήρων (ταξινόμηση και μετατροπή). Θα παρουσιάσουμε επίσης ένα απλό παράδειγμα προγραμματισμού C ++ για καθεμία από τις λειτουργίες.
Isalnum
Πρωτότυπο λειτουργίας: int isalnum (int c);
Παράμετροι): c => Ένας χαρακτήρας που πρέπει να ελεγχθεί εάν αλφαριθμητικός ή όχι
Αξία επιστροφής:
μη μηδέν => το c είναι αλφαριθμητικό
0 => το c δεν είναι αλφαριθμητικό
Περιγραφή: Αυτή η συνάρτηση ελέγχει εάν ένας δεδομένος χαρακτήρας c είναι αλφαριθμητικός ή όχι. Με αλφαριθμητικό, σημαίνει ότι ένας χαρακτήρας είναι μεταξύ A (a) -Z (z) ή 0 έως 9.
Στο C ++, αυτή η συνάρτηση είναι τοπική και ο ορισμός της υπάρχει στην κεφαλίδα.
Παράδειγμα:
#include #include using namespace std; int main() { char chary(12) = 'Hello World'; // checking for isalnum() function for (int i=0; i<12; i++) { if (isalnum(chary (i))) cout << chary (i) << ' is alphanumeric' << endl; else cout << chary (i) << ' is not alphanumeric' << endl; } cout << endl; }
Παραγωγή:
Ισλάφα
Πρωτότυπο λειτουργίας: int isalpha (int c);
Παράμετροι): c-> Χαρακτήρας που πρέπει να ελεγχθεί εάν είναι αλφαβητικός ή όχι.
Αξία επιστροφής:
μη μηδέν => το c είναι αλφαβητικό
0 => όχι αλφαβητικά
Περιγραφή: Αυτή η συνάρτηση ελέγχει εάν ένας δεδομένος χαρακτήρας c είναι αλφαβητικός χαρακτήρας, δηλαδή μεταξύ πεζών και κεφαλαίων γραμμάτων. Όπως το isalnum, αυτή η λειτουργία εξαρτάται επίσης από τις τοπικές ρυθμίσεις που χρησιμοποιούμε.
Παράδειγμα:
#include #include using namespace std; int main() { char ch_alpha(5) = 'sth1'; for (int i=0; i<5; i++) { if (isalpha(ch_alpha(i))) cout << ch_alpha(i) << ' is an alphabet' << endl; else cout << ch_alpha(i) << ' is not an alphabet' << endl; } cout << endl; }
Παραγωγή:
Isblank
Πρωτότυπο λειτουργίας: int isblank (int c);
Παράμετροι): c => Χαρακτήρας που πρέπει να ελεγχθεί.
Αξία επιστροφής:
μη μηδεν => ο χαρακτήρας είναι κενός
0 => ο χαρακτήρας δεν είναι κενός
Περιγραφή: Αυτή η συνάρτηση ελέγχει εάν ο δεδομένος χαρακτήρας είναι κενός ή όχι. Ο κενός χαρακτήρας είναι ένας χαρακτήρας διαστήματος που χρησιμοποιείται για το διαχωρισμό λέξεων σε μια γραμμή κειμένου.
Στο C ++, υπάρχει η συγκεκριμένη τοπική έκδοση της συνάρτησης isblank.
Παράδειγμα:
#include #include using namespace std; int main() { char ch_alpha(6) = 's t h'; for (int i=0; i<6; i++) { if (isblank(ch_alpha(i))) cout << ch_alpha(i) << ' is a blank' << endl; else cout << ch_alpha(i) << ' is not a blank' << endl; } cout << endl; }
Παραγωγή:
Σημειώστε την τελευταία γραμμή στην έξοδο που λέει 'δεν είναι κενό'. Αυτό οφείλεται στην τελευταία θέση του πίνακα χαρακτήρων που δεν έχει αρχικοποιηθεί σε μια τιμή αλλά εξακολουθεί να έχει θέση εκτύπωσης. Ως εκ τούτου, δεν είναι κενό.
Iscntrl
Πρωτότυπο λειτουργίας: int iscntrl (int c);
Παράμετροι): c => Χαρακτήρας που πρέπει να ελεγχθεί
Αξία επιστροφής:
μη μηδέν => c είναι χαρακτήρας ελέγχου
0 => c δεν είναι χαρακτήρας ελέγχου
Περιγραφή: Η συνάρτηση ελέγχει εάν η δεδομένη παράμετρος είναι χαρακτήρας ελέγχου. Ένας χαρακτήρας ελέγχου είναι ένας χαρακτήρας που δεν εμφανίζεται στην οθόνη ή δεν καταλαμβάνει θέση εκτύπωσης.
Παράδειγμα:
#include #include using namespace std; int main() { char ch_alpha(6) = 's
t h'; for (int i=0; i<6; i++) { if (iscntrl(ch_alpha(i))) cout << ch_alpha(i) << ' is a control character' << endl; else cout << ch_alpha(i) << ' is not a control character' << endl; } cout << endl; }
Παραγωγή:
Isdigit
Πρωτότυπο λειτουργίας: int isdigit (int γ)
Παράμετροι): c => Ένας χαρακτήρας που μεταδίδεται στο int του οποίου η τιμή πρέπει να ελεγχθεί.
Αξία επιστροφής: μη μηδέν => c είναι δεκαδικό ψηφίο
0 => το c δεν είναι ψηφίο
Περιγραφή: Αυτή η συνάρτηση ελέγχει εάν η δεδομένη παράμετρος είναι δεκαδικό ψηφίο ή όχι. Ένας χαρακτήρας είναι ένα δεκαδικό ψηφίο εάν η τιμή του είναι μεταξύ 0 και 9.
Παράδειγμα:
#include #include using namespace std; int main() { char ch_alpha(5) = 'a12b'; for (int i=0; i<5; i++) { if (isdigit(ch_alpha(i))) cout << ch_alpha(i) << ' is a digit' << endl; else cout << ch_alpha(i) << ' is not a digit' << endl; } cout << endl; }
Παραγωγή:
Isgraph
Πρωτότυπο λειτουργίας: int isgraph (int c)
Παράμετροι): c => Χαρακτήρας χύτευσης int που ελέγχεται χρησιμοποιώντας τη συνάρτηση isgraph
Αξία επιστροφής:
non-zero => c είναι μια γραφική παράσταση
0 => c δεν είναι γραφική παράσταση
Περιγραφή: Η συνάρτηση ελέγχει εάν ο δεδομένος χαρακτήρας c είναι χαρακτήρας με γραφική παράσταση. Ένας χαρακτήρας που μπορεί να εκτυπωθεί είναι ένας χαρακτήρας με γραφική παράσταση.
Παράδειγμα:
#include #include using namespace std; int main() { char ch_alpha(6) = 'a~12b'; for (int i=0; i<6; i++) { if (isgraph(ch_alpha(i))) cout << ch_alpha(i) << ' is a graphical character' << endl; else cout << ch_alpha(i) << ' is not a graphical character' << endl; } cout << endl; }
Παραγωγή:
Ισλάουερ
Πρωτότυπο λειτουργίας: int islower (int γ)
Παράμετροι): c => Χαρακτήρας που πρέπει να ελεγχθεί χρησιμοποιώντας τη συνάρτηση islower.
Αξία επιστροφής:
non-zer0 => c είναι πεζά
0 => c δεν είναι πεζά
Περιγραφή: Η συνάρτηση islower ελέγχει εάν ο δεδομένος χαρακτήρας c είναι πεζός ή όχι.
Ένας πεζός χαρακτήρας είναι αυτός που έχει μία από τις τιμές: α b c d e f g h I j k l m n o p q r s t u v w x y z.
Παράδειγμα:
#include #include using namespace std; int main() { char ch_alpha(4) = 'Sth'; for (int i=0; i<4; i++) { if (islower(ch_alpha(i))) cout << ch_alpha(i) << ' is a lowercase character' << endl; else cout << ch_alpha(i) << ' is not a lowercase character' << endl; } cout << endl; }
Παραγωγή:
Τυπώνω
Πρωτότυπο λειτουργίας: int σπριντ (int c)
Παράμετροι): c => Χαρακτήρας που πρέπει να ελεγχθεί χρησιμοποιώντας τη συνάρτηση isprint.
Αξία επιστροφής:
non-zer0 => c είναι εκτυπώσιμο
0 => το c δεν είναι εκτυπώσιμο
Περιγραφή: Η λειτουργία isprint ελέγχει εάν ο δεδομένος χαρακτήρας είναι εκτυπώσιμος. Ένας εκτυπώσιμος χαρακτήρας είναι αυτός που καταλαμβάνει μια θέση εκτύπωσης στην οθόνη.
Παράδειγμα:
#include #include using namespace std; int main() { char ch_alpha(4) = 'Sth'; for (int i=0; i<4; i++) { if (isprint(ch_alpha(i))) cout << ch_alpha(i) << ' is a printable character' << endl; else cout << ch_alpha(i) << ' is not a printable character' << endl; } cout << endl; }
Παραγωγή:
Διακοπή
Πρωτότυπο λειτουργίας: int ispunct (int c)
Παράμετροι): c => Χαρακτήρας που πρέπει να ελεγχθεί χρησιμοποιώντας τη συνάρτηση ispunct.
Αξία επιστροφής:
non-zer0 => c είναι ένας χαρακτήρας στίξης
0 => c δεν είναι χαρακτήρας στίξης
Περιγραφή: Αυτή η συνάρτηση ελέγχει εάν ο δεδομένος χαρακτήρας είναι χαρακτήρας στίξης. Ένας χαρακτήρας που είναι γραφικός χαρακτήρας (από isgraph) και όχι αλφαριθμητικός (από isalnum) λέγεται ότι είναι χαρακτήρας στίξης.
Παράδειγμα:
#include #include using namespace std; int main() { char ch_alpha(8) = 'sth@123'; for (int i=0; i<8; i++) { if (ispunct(ch_alpha(i))) cout << ch_alpha(i) << ' is a punctuation character' << endl; else cout << ch_alpha(i) << ' is not a punctuation character' << endl; } cout << endl; }
Παραγωγή:
Θέμα
Πρωτότυπο λειτουργίας: int Isspace (int γ)
Παράμετροι): c => Χαρακτήρας που πρέπει να ελεγχθεί χρησιμοποιώντας τη συνάρτηση Isspace.
Αξία επιστροφής:
non-zer0 => c είναι ένα κενό διάστημα
0 => το c δεν είναι κενό
Περιγραφή: Αυτή η συνάρτηση ελέγχει εάν ο δεδομένος χαρακτήρας είναι κενό διάστημα. Για τις τοπικές ρυθμίσεις 'C', οι χαρακτήρες λευκού διαστήματος είναι ένας από τους παρακάτω.
Παράδειγμα:
#include #include using namespace std; int main() { char ch_alpha(7) = 's t
h'; for (int i=0; i<7; i++) { if (isspace(ch_alpha(i))) cout << ch_alpha(i) << ' is a white space' << endl; else cout << ch_alpha(i) << ' is not a white space' << endl; } cout << endl; }
Παραγωγή:
Isupper
Πρωτότυπο λειτουργίας: int isupper (int γ)
Παράμετροι): c => Χαρακτήρας που πρέπει να ελεγχθεί χρησιμοποιώντας τη λειτουργία isupper.
Αξία επιστροφής:
non-zer0 => c είναι κεφαλαία
0 => το c δεν είναι κεφαλαίο
Περιγραφή: Οι λειτουργίες ελέγχουν αν το δεδομένο χαρακτήρα c είναι κεφαλαίο ή όχι.
Ένας κεφαλαίος χαρακτήρας είναι αυτός που έχει μία από τις τιμές: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z.
Παράδειγμα:
#include #include using namespace std; int main() { char ch_alpha(4) = 'STh'; for (int i=0; i<4; i++) { if (isupper(ch_alpha(i))) cout << ch_alpha(i) << ' is an uppercase character' << endl; else cout << ch_alpha(i) << ' is not an uppercase character' << endl; } cout << endl; }
Παραγωγή:
Isxdigit
Πρωτότυπο λειτουργίας: int isxdigit (int γ)
Παράμετροι): c => Χαρακτήρας που πρέπει να ελεγχθεί χρησιμοποιώντας τη συνάρτηση isxdigit.
Αξία επιστροφής:
non-zer0 => c είναι δεκαεξαδικό
0 => c δεν είναι δεκαεξαδικό
Περιγραφή: Αυτή η συνάρτηση ελέγχει εάν ο δεδομένος χαρακτήρας είναι δεκαεξαδικό ψηφίο. Τα έγκυρα δεκαεξαδικά ψηφία είναι 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F
Παράδειγμα:
#include #include using namespace std; int main() { char ch_alpha(6) = 'sbc10'; for (int i=0; i<6; i++) { if (isxdigit(ch_alpha(i))) cout << ch_alpha(i) << ' is hexadecimal digit' << endl; else cout << ch_alpha(i) << ' is not hexadecimal digit' << endl; } cout << endl; }
Παραγωγή:
να μειώσει
Πρωτότυπο λειτουργίας: int tolower (int γ)
Παράμετροι): c => Χαρακτήρας που πρόκειται να μετατραπεί σε πεζά.
Αξία επιστροφής:
επιστρέφει το χαμηλότερο ισοδύναμο του c, αλλιώς αμετάβλητο.
Η τιμή επιστροφής είναι int και μπορεί να μεταφερθεί σιωπηρά στο char.
Περιγραφή: Αυτό μετατρέπει τον δεδομένο χαρακτήρα c σε πεζά ισοδύναμα. Εάν η μετατροπή δεν είναι δυνατή για έναν δεδομένο χαρακτήρα, τότε επιστρέφεται η αμετάβλητη τιμή (c).
Παράδειγμα:
#include #include using namespace std; int main() { char ch_alpha(4) = 'STH'; cout< Παραγωγή:
Το STH μετατράπηκε σε πεζά: sth
ανατροπέας
Πρωτότυπο λειτουργίας: int toupper (int γ)
Παράμετροι): c => χαρακτήρας που πρόκειται να μετατραπεί σε κεφαλαία
Αξία επιστροφής:
επιστρέφει το ανώτερο ισοδύναμο του c, αλλιώς αμετάβλητο.
είναι το κλειδί δικτύου ο κωδικός πρόσβασης wifi
Η τιμή επιστροφής είναι int και μπορεί να μεταφερθεί σιωπηρά στο char.
Περιγραφή: Αυτό μετατρέπει τον δεδομένο χαρακτήρα c σε αντίστοιχο κεφαλαίο. Εάν μια μετατροπή δεν είναι δυνατή για έναν δεδομένο χαρακτήρα, τότε επιστρέφεται η αμετάβλητη τιμή (c).
Παράδειγμα:
#include #include using namespace std; int main() { char ch_alpha(10) = 'tutorials'; cout< Παραγωγή:
μαθήματα που μετατράπηκαν σε πεζά: TUTORIALS
συμπέρασμα
Αυτό τελειώνει το σεμινάριό μας σχετικά με τις λειτουργίες χαρακτήρων στο C ++.
Σε αυτό το σεμινάριο, έχουμε δει διάφορες λειτουργίες που λαμβάνουν έναν μόνο χαρακτήρα και στη συνέχεια είτε τις ταξινομούν είτε τις μετατρέπουν. Στα επόμενα σεμινάριά μας, θα συζητήσουμε τη συμβολοσειρά και τις λειτουργίες και τις τάξεις τους που σχετίζονται με το C ++.
=> Ανακαλύψτε εδώ την απλή σειρά εκπαίδευσης C ++.
Συνιστώμενη ανάγνωση