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

Η συνάρτηση wctomb () στο C ++ μετατρέπει έναν μεγάλο χαρακτήρα σε έναν χαρακτήρα πολλαπλών byte.

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

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

 int wctomb (char * pmb, wchar_t wc);

Η συνάρτηση wctomb () παίρνει δύο ορίσματα και επιστρέφει μια ακέραια τιμή. Αυτή η συνάρτηση μετατρέπει τον ευρύ χαρακτήρα που αντιπροσωπεύεται από το wc σε ισοδύναμο πολλαπλών byte και αποθηκεύεται στη θέση μνήμης που υποδεικνύεται από το pmb. Ο μέγιστος αριθμός χαρακτήρων που μπορούν να αποθηκευτούν είναι MB_CUR_MAX .

Εάν το wc είναι ο μηδενικός χαρακτήρας, το μηδενικό byte γράφεται στο pmb.

Εάν το pmb είναι μηδενικός δείκτης, μια κλήση στο wctomb () θα επαναφέρει την κατάσταση καθολικής μετατροπής και θα καθορίσει εάν χρησιμοποιούνται ακολουθίες μετατόπισης.

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

  • pmb: Δείκτης στον προκύπτοντα χαρακτήρα πολλών τύπων
  • wc: Ευρύς χαρακτήρας που μετατρέπεται σε χαρακτήρα πολλαπλών τύπων

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

Εάν το pmb δεν είναι μηδενικός δείκτης, το wctomb () επιστρέφει:

  • τον αριθμό των byte που περιέχονται στην αναπαράσταση πολλαπλών byte του wc.
  • -1 εάν το wc δεν είναι έγκυρος χαρακτήρας.

Εάν το pmb είναι μηδενικός δείκτης, επαναφέρει την εσωτερική κατάσταση μετατροπής για να αντιπροσωπεύει την αρχική κατάσταση μετατόπισης και επιστρέφει:

  • 0 εάν η τρέχουσα κωδικοποίηση πολλαπλών τύπων δεν εξαρτάται από την κατάσταση (δεν χρησιμοποιεί ακολουθίες μετατόπισης)
  • μια μη μηδενική τιμή εάν η τρέχουσα κωδικοποίηση πολλαπλών byte εξαρτάται από την κατάσταση (χρησιμοποιεί ακολουθίες μετατόπισης).

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

 #include #include using namespace std; int main() ( wchar_t wc = L'x'; char *pmb1 = (char*)malloc(sizeof(char)); char *pmb2 = NULL; int ret_val; cout << "When pmb is not null" << endl; ret_val = wctomb(pmb1, wc); cout << "Return Value = " << ret_val << endl; wcout << "Multibyte Character: " << pmb1 << endl << endl; cout << "When pmb is null" << endl; ret_val = wctomb(pmb2, wc); cout << "Return Value = " << ret_val << endl; wcout << "Multibyte Character: " << pmb2; return(0); )

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

 Όταν το pmb δεν είναι μηδενική τιμή επιστροφής = 1 Χαρακτήρας Multibyte: x↨R Όταν το pmb είναι μηδενική τιμή επιστροφής = 0 Χαρακτήρας Multibyte:

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