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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 #include #include using namespace std; int main() ( wchar_t src() = L"Welcome To Programiz.com"; char dest(50); int num; num = wcstombs(dest, src, 50); cout << "Number of wide character converted = " << num << endl; cout << "Multibyte Character String = " << dest << endl; return 0; )

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

 Αριθμός μεγάλου χαρακτήρα που μετατράπηκε = 24 Συμβολοσειρά χαρακτήρων Multibyte = Καλώς ήλθατε στο Programiz.com

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