C ++ mbtowc () - Perpustakaan Standard C ++

Fungsi mbtowc () dalam C ++ menukar watak multibait ke watak luas.

Fungsi mbtwoc () ditentukan dalam fail tajuk.

prototaip mbtowc ()

 int mbtowc (wchar_t * pwc, const char * pmb, size_t max);

Fungsi mbtowc () mengambil tiga argumen dan mengembalikan nilai integer. Fungsi ini menukar watak multibait yang ditunjukkan oleh pmb ke watak luas (nilai jenis wchar_t) dan disimpan di lokasi memori yang ditunjukkan oleh pwc.

Sekiranya pmb adalah penunjuk nol, panggilan ke mbtowc () akan menetapkan semula keadaan penukaran global dan menentukan sama ada urutan peralihan digunakan.

mbtowc () Parameter

  • pwc: Penunjuk kepada watak luas yang dihasilkan
  • pmb: Penunjuk kepada watak multibait yang ditukar menjadi watak luas
  • maks: Ukuran maksimum dalam bait pmb yang perlu dipertimbangkan untuk watak multibait.

mbtowc () Nilai pulangan

Sekiranya pmb bukan penunjuk kosong, mbtowc () mengembalikan:

  • bilangan bait yang terkandung dalam watak multibait yang ditunjukkan oleh pmb.
  • -1 jika bait pertama yang ditunjukkan oleh pmb tidak membentuk watak multibait yang sah.
  • 0 jika pmb menunjukkan watak null yang menamatkan iaitu ' 0'.

Sekiranya pmb adalah penunjuk nol, tetapkan semula keadaan penukaran dalamannya untuk mewakili keadaan peralihan awal dan kembali:

  • 0 jika pengekodan multibait semasa tidak bergantung kepada keadaan (tidak menggunakan urutan peralihan)
  • nilai bukan sifar jika pengekodan multibait semasa bergantung pada keadaan (menggunakan urutan peralihan).

Contoh: Bagaimana fungsi mbtowc () berfungsi?

 #include #include #include using namespace std; int main() ( char pmb() = "Welcome to Programiz.com"; wchar_t pwc(100); int len, ret_val; /* resets internal conversion state */ mbtowc (NULL, NULL, 0); len = strlen(pmb); ret_val = mbtowc(pwc, pmb, strlen(pmb)); cout << "Return Value = " << ret_val << endl; wcout << "Wide character string: " << pwc; return(0); )

Semasa anda menjalankan program, output yang mungkin adalah:

 Nilai Kembali = 1 rentetan watak yang luas: W @

Artikel menarik...