C ++ mbtowc () - C ++ Τυπική βιβλιοθήκη

Η συνάρτηση mbtowc () στο C ++ μετατρέπει έναν χαρακτήρα πολλαπλών byte σε έναν μεγάλο χαρακτήρα.

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

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

 int mbtowc (wchar_t * pwc, const char * pmb, size_t max);

Η συνάρτηση mbtowc () παίρνει τρία ορίσματα και επιστρέφει μια ακέραια τιμή. Αυτή η συνάρτηση μετατρέπει τον χαρακτήρα πολλαπλών τύπων που επισημαίνεται από το pmb σε έναν ευρύ χαρακτήρα (τιμή τύπου wchar_t) και αποθηκεύεται στη θέση μνήμης που υποδεικνύεται από το pwc.

Εάν το pmb είναι μηδενικός δείκτης, μια κλήση στο mbtowc () θα επαναφέρει την καθολική κατάσταση μετατροπής και θα καθορίσει εάν χρησιμοποιούνται ακολουθίες αλλαγής

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

  • pwc: Δείκτης στον προκύπτοντα μεγάλο χαρακτήρα
  • pmb: Δείκτης στον χαρακτήρα πολλαπλών τύπων που μετατρέπεται σε ευρεία χαρακτήρα
  • Μέγιστο: Μέγιστο μέγεθος σε byte pmb που πρέπει να ληφθεί υπόψη για τον χαρακτήρα πολλαπλών byte.

mbtowc () Επιστροφή τιμή

Εάν το pmb δεν είναι μηδενικός δείκτης, το mbtowc () επιστρέφει:

  • τον αριθμό των byte που περιέχονται στον χαρακτήρα πολλαπλών byte που υποδεικνύεται από το pmb.
  • -1 εάν το πρώτο byte που υποδεικνύεται από το pmb δεν σχηματίζει έγκυρο χαρακτήρα πολλαπλών byte.
  • 0 εάν το pmb δείχνει τον μηδενικό χαρακτήρα τερματισμού, δηλαδή ' 0'.

Εάν το pmb είναι μηδενικός δείκτης, επαναφέρει την εσωτερική κατάσταση μετατροπής για να αντιπροσωπεύει την αρχική κατάσταση μετατόπισης και επιστρέφει:

  • 0 εάν η τρέχουσα κωδικοποίηση πολλαπλών τύπων δεν εξαρτάται από την κατάσταση (δεν χρησιμοποιεί ακολουθίες μετατόπισης)
  • μια μη μηδενική τιμή εάν η τρέχουσα κωδικοποίηση πολλαπλών byte εξαρτάται από την κατάσταση (χρησιμοποιεί ακολουθίες μετατόπισης).

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

 #include #include #include using namespace std; int main() ( char pmb() = "Welcome to Programiz.com"; wchar_t pwc(100); int len, ret_val; /* resets internal conversion state */ mbtowc (NULL, NULL, 0); len = strlen(pmb); ret_val = mbtowc(pwc, pmb, strlen(pmb)); cout << "Return Value = " << ret_val << endl; wcout << "Wide character string: " << pwc; return(0); )

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

 Τιμή επιστροφής = 1 Ευρεία συμβολοσειρά χαρακτήρων: W @

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