Η συνάρτηση mblen () στο C ++ καθορίζει το μέγεθος (σε byte) ενός χαρακτήρα πολλαπλών byte.
Η συνάρτηση mblen () ορίζεται στο αρχείο κεφαλίδας.
πρωτότυπο mblen () (Από το πρότυπο C ++ 11)
int mblen (const char * s, size_t max);
Η συνάρτηση mblen () παίρνει δύο ορίσματα s και max και επιστρέφει μια ακέραια τιμή. Ο δείκτης δείχνει το πρώτο byte ενός χαρακτήρα πολλαπλών byte του οποίου το μέγεθος επιστρέφεται από τη συνάρτηση.
mblen () Παράμετροι
- s: Δείκτης στο πρώτο byte ενός χαρακτήρα πολλαπλών byte ή ενός null δείκτη.
- max: Μέγιστος αριθμός byte σε s που μπορούν να εξεταστούν.
mblen () Τιμή επιστροφής
Εάν το s είναι μηδενικός δείκτης, μια κλήση στο mblen () επαναφέρει την εσωτερική κατάσταση μετατροπής για να αντιπροσωπεύει την αρχική κατάσταση μετατόπισης και επιστρέφει:
- 0 εάν η τρέχουσα κωδικοποίηση πολλαπλών byte δεν εξαρτάται από την κατάσταση (δεν χρησιμοποιεί ακολουθίες shift).
- μη μηδενική τιμή εάν η τρέχουσα κωδικοποίηση πολλαπλών byte εξαρτάται από την κατάσταση (χρησιμοποιεί ακολουθίες μετατόπισης).
Εάν το s δεν είναι μηδενικός δείκτης, η συνάρτηση mblen () επιστρέφει:
- τον αριθμό των byte που περιέχονται στον χαρακτήρα πολλαπλών byte.
- -1 εάν τα πρώτα byte που επισημαίνονται από το s δεν σχηματίζουν έγκυρο χαρακτήρα πολλαπλών byte.
- 0 αν το s δείχνει στον μηδενικό χαρακτήρα ' 0'.
Παράδειγμα: Πώς λειτουργεί η λειτουργία mblen () στο C ++;
#include #include #include using namespace std; int main() ( int len; char *s = (char *)malloc(20); strcpy(s,"xe4xbdxa0xe5xa5xbd"); /* resets the conversion state */ mblen(NULL, 0); len = mblen(s,strlen(s)); cout << "Length of multibyte character: " << len << endl; return 0; )
Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:
Μήκος χαρακτήρα πολλαπλών τύπων: 1