C ++ wctomb () - C ++ Standard Library

Fungsi wctomb () di C ++ mengonversi karakter lebar menjadi karakter multibyte.

Fungsi wctomb () didefinisikan dalam file header.

wctomb () prototipe

 int wctomb (char * pmb, wchar_t wc);

Fungsi wctomb () mengambil dua argumen dan mengembalikan nilai integer. Fungsi ini mengubah karakter lebar yang diwakili oleh wc menjadi multibyte yang setara dan disimpan di lokasi memori yang ditunjukkan oleh pmb. Jumlah maksimal karakter yang dapat disimpan adalah MB_CUR_MAX .

Jika wc adalah karakter nol, byte nol ditulis ke pmb.

Jika pmb adalah pointer null, panggilan ke wctomb () akan mengatur ulang status konversi global dan menentukan apakah urutan shift digunakan.

wctomb () Parameter

  • pmb: Arahkan ke karakter multibyte yang dihasilkan
  • wc: Karakter lebar yang diubah menjadi karakter multibyte

wctomb () Nilai kembali

Jika pmb bukan pointer nol, wctomb () mengembalikan:

  • jumlah byte yang terkandung dalam representasi multibyte wc.
  • -1 jika wc bukan karakter yang valid.

Jika pmb adalah pointer nol, setel ulang status konversi internalnya untuk mewakili status pergeseran awal dan mengembalikan:

  • 0 jika pengkodean multibyte saat ini tidak bergantung pada negara bagian (tidak menggunakan urutan shift)
  • nilai bukan nol jika pengkodean multibyte saat ini bergantung pada negara bagian (menggunakan urutan shift).

Contoh: Bagaimana fungsi wctomb () bekerja?

 #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); )

Saat Anda menjalankan program, output yang mungkin adalah:

 Ketika pmb tidak null Return Value = 1 Multibyte Karakter: x↨R Ketika pmb null Return Value = 0 Multibyte Karakter:

Artikel yang menarik...