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

Η συνάρτηση mbstowcs () στο C ++ μετατρέπει μια συμβολοσειρά χαρακτήρων πολλαπλών byte σε ισοδύναμη ευρεία ακολουθία χαρακτήρων.

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

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

 size_t mbstowcs (wchar_t * dest, const char * src, size_t max);

Η συνάρτηση mbstowcs () παίρνει τρία ορίσματα και επιστρέφει μια ακέραια τιμή.

Αυτή η συνάρτηση μετατρέπει τη συμβολοσειρά χαρακτήρων πολλαπλών τύπων της οποίας το πρώτο στοιχείο επισημαίνεται από το src στην αναπαράσταση ευρείας χαρακτήρας (τιμή τύπου wchar_t)

Το αποτέλεσμα αποθηκεύεται στη θέση μνήμης που δείχνει ο προορισμός. Η παράμετρος max αντιπροσωπεύει τον μέγιστο αριθμό χαρακτήρων πολλαπλών byte που πρόκειται να μετατραπούν.

Ο μηχανισμός μετατροπής είναι ίδιος με αυτόν του mbtowc (), εκτός του ότι η κατάσταση μετατροπής mbtowc δεν επηρεάζεται. Η μετατροπή σταματά εάν:

  • Αντιμετωπίζεται ένας μηδενικός χαρακτήρας, ο οποίος στη συνέχεια μετατρέπεται και αποθηκεύεται.
  • Παρουσιάζεται μη έγκυρος χαρακτήρας πολλαπλών τύπων.
  • έχει μετατραπεί ο μέγιστος αριθμός χαρακτήρων πολλαπλών τύπων.

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

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

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

  • Εάν η μετατροπή είναι επιτυχής, το mbstowcs () επιστρέφει τον αριθμό ευρέων χαρακτήρων, εξαιρουμένου του χαρακτήρα τερματισμού (δηλ. ' 0') που είναι γραμμένος στον πίνακα προορισμού.
  • Εάν προκύψει κάποιο σφάλμα κατά τη μετατροπή, επιστρέφει -1.

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

 #include #include using namespace std; int main() ( char src() = "xc4xe3xbaxc3"; wchar_t dest(10); int num; num = mbstowcs(dest, src, MB_CUR_MAX); cout << "Number of wide character converted = " << num << endl; wcout << "Wide Character String = " << dest << endl; return 0; )

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

 Αριθμός μεγάλου χαρακτήρα που μετατράπηκε = 1 Ευρεία σειρά χαρακτήρων = ─

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