C ++ mbrlen () - Βασική βιβλιοθήκη C ++

Η συνάρτηση mbrlen () στο C ++ καθορίζει το μέγεθος σε byte ενός χαρακτήρα πολλαπλών byte.

Η συνάρτηση mbrlen () ορίζεται στο αρχείο κεφαλίδας.

πρωτότυπο mbrlen ()

 size_t mbrlen (const char * s, size_t n, mbstate_t * ps);

Η συνάρτηση mbrlen () εξετάζει τη συμβολοσειρά της οποίας το πρώτο byte επισημαίνεται από το s και καθορίζει το μέγεθός του σε byte για την τρέχουσα κατάσταση μετατροπής ps. Εξετάζεται το πολύ n bytes σε s.

mbrlen () Παράμετροι

  • s: Δείκτης στο πρώτο byte συμβολοσειράς πολλαπλών byte που θα εξεταστεί.
  • n: Μέγιστος αριθμός byte σε s προς εξέταση.
  • ps: Δείκτης προς mbstate_t αντικείμενο που καθορίζει μια κατάσταση μετατροπής.

mbrlen () Τιμή επιστροφής

Η συνάρτηση mbrlen () επιστρέφει:

  • Ο αριθμός των byte που συμπληρώνουν έναν έγκυρο χαρακτήρα πολλαπλών byte.
  • 0 εάν s δείχνει μηδενικό χαρακτήρα.
  • -1 παρουσιάζεται σφάλμα κωδικοποίησης.
  • -2 εάν τα επόμενα n bytes δεν αντιπροσωπεύουν έναν πλήρη χαρακτήρα πολλαπλών byte.

Παράδειγμα: Πώς λειτουργεί η λειτουργία mbrlen ();

 #include #include #include using namespace std; void test_mbrlen(const char *s, size_t n) ( mbstate_t ps = mbstate_t(); int retVal = mbrlen(s, n, &ps); if (retVal == -2) cout << "Next " << n << " byte(s) doesn't represent a complete multibyte character" << endl; else if (retVal == -1) cout << "Next " << n << " byte(s) doesn't represent a valid multibyte character" << endl; else cout << "Next " << n << " byte(s) of " << s << " holds " << retVal << " byof multibyte character" << endl; ) int main() ( setlocale(LC_ALL, "en_US.utf8"); char str() = "u00b5"; test_mbrlen(str, 1); test_mbrlen(str, 5); return 0; )

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 Τα επόμενα 1 byte (ες) δεν αντιπροσωπεύουν έναν πλήρη χαρακτήρα πολλαπλών byte Τα επόμενα 5 byte (α) μ περιέχει 2 byte χαρακτήρα πολλαπλών byte

ενδιαφέροντα άρθρα...