Η συνάρτηση 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 Ευρεία σειρά χαρακτήρων = ─