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

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

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