Η συνάρτηση c16rtomb () στο C ++ μετατρέπει την αναπαράσταση χαρακτήρων 16 bit σε στενή αναπαράσταση χαρακτήρων πολλαπλών byte.
Η συνάρτηση c16rtomb () ορίζεται στο αρχείο κεφαλίδας.
c16rtomb () Πρωτότυπο
size_t c16rtomb (char * s, char16_t c16, mbstate_t * ps);
Η συνάρτηση c16rtomb () μετατρέπει τον χαρακτήρα utf-16 c16 σε ισοδύναμο πολλαπλών byte και αποθηκεύει τον στο αντικείμενο που υποδεικνύεται από το s.
Εάν το s αντιπροσωπεύει έναν μηδενικό δείκτη, η κλήση είναι ισοδύναμη με το c16rtomb (buf, u ' 0', ps) για κάποιο εσωτερικό buffer buf.
Εάν το c16 είναι ο μηδενικός χαρακτήρας, δηλαδή u ' 0', αποθηκεύεται ένα μηδενικό byte.
c16rtomb () Παράμετροι
- s: Δείκτης σε πίνακα χαρακτήρων όπου πρόκειται να αποθηκευτεί ο χαρακτήρας πολλαπλών τύπων.
- c16: Ο χαρακτήρας 16 bit για μετατροπή.
- ps: Ένας δείκτης σε ένα αντικείμενο mbstate_t που χρησιμοποιείται κατά την ερμηνεία της συμβολοσειράς πολλαπλών byte.
c16rtomb () Τιμή επιστροφής
- Κατά την επιτυχία, η συνάρτηση c16rtomb () επιστρέφει τον αριθμό των bytes που γράφτηκαν στον πίνακα χαρακτήρων που επισημαίνεται από το s.
- Σε περίπτωση αποτυχίας, το -1 επιστρέφεται και το EILSEQ αποθηκεύεται στο errno.
Παράδειγμα: Πώς λειτουργεί η λειτουργία c16rtomb ();
#include #include using namespace std; int main() ( const char16_t str() = u"Hello World!"; char s(50); mbstate_t ps(); size_t length; int j = 0; while (str(j)) ( length = c16rtomb(s, str(j), &ps); if ((length == 0) || (length> 50)) break; for (int i=0; i
When you run the program, the output will be:
Hello World!