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

Η συνάρτηση 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!

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