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