C ++ wcrtomb () - Perpustakaan Standard C ++

Fungsi wcrtomb () dalam C ++ menukar watak luas kepada perwakilan multibait sempitnya.

Wcrtomb () ditakrifkan dalam fail tajuk.

prototaip wcrtomb ()

 size_t wcrtomb (char * s, wchar_t wc, mbstate_t * ps);

Fungsi wcrtomb () menukar watak lebar yang diwakili oleh wc ke watak multibait sempit dan disimpan di alamat yang ditunjukkan oleh s.

  • Sekiranya s bukan penunjuk nol, fungsi wcrtomb () menentukan bilangan byte maksimum yang diperlukan untuk menyimpan perwakilan multibait wc dan menyimpannya di lokasi memori yang ditunjukkan oleh s. Maksimum MB_CUR_MAX bait boleh ditulis. Nilai ps dikemas kini mengikut keperluan.
  • Sekiranya s adalah penunjuk nol, panggilan itu setara dengan wcrtomb(buf, L'', ps)beberapa buf penyangga dalaman.
  • Sekiranya wc == L'', bait kosong disimpan.

Parameter wcrtomb ()

  • s: Penunjuk ke array watak multibait untuk menyimpan hasilnya.
  • wc: Watak yang luas untuk ditukar.
  • ps: Penunjuk ke keadaan penukaran yang digunakan semasa menafsirkan rentetan multibait

wcrtomb () Nilai pulangan

  • Pada kejayaan, fungsi wcrtomb () mengembalikan bilangan bait yang ditulis ke array watak yang elemen pertama ditunjukkan oleh s.
  • Pada kegagalan (iaitu wc bukan watak lebar yang sah), ia mengembalikan -1, errno ditetapkan ke EILSEQ dan meninggalkan * ps dalam keadaan tidak ditentukan.

Contoh: Bagaimana fungsi wcrtomb () berfungsi?

 #include #include #include using namespace std; int main() ( setlocale(LC_ALL, "en_US.utf8"); wchar_t str() = L"uu00c6u00f5u01b5"; char s(16); int retVal; mbstate_t ps = mbstate_t(); for (int i=0; i 

When you run the program, the output will be:

 Size of u is 1 bytes Size of Æ is 2 bytes Size of õ is 2 bytes Size of Ƶ is 2 bytes

Artikel menarik...