Fungsi mbstowcs () dalam C ++ menukar rentetan watak multibait kepada urutan aksara lebar yang setara.
Fungsi mbstowcs () ditentukan dalam fail tajuk.
prototaip mbstowcs ()
size_t mbstowcs (wchar_t * dest, const char * src, size_t max);
Fungsi mbstowcs () mengambil tiga argumen dan mengembalikan nilai integer.
Fungsi ini menukar rentetan watak multibait yang elemen pertamanya ditunjuk oleh src ke perwakilan wataknya yang luas (nilai jenis wchar_t).
Hasilnya disimpan di lokasi memori yang ditunjukkan oleh dest. Parameter maks mewakili bilangan maksimum watak multibait yang akan ditukar.
Mekanisme penukaran adalah sama dengan mbtowc (), kecuali bahawa keadaan penukaran mbtowc tidak terjejas. Penukaran berhenti jika:
- Watak null ditemui, yang kemudian ditukar dan disimpan.
- Watak multibait tidak sah ditemui.
- jumlah maksimum watak multibait telah ditukar.
Parameter mbstowcs ()
- dest: Penunjuk ke pelbagai watak yang dihasilkan.
- src: Penunjuk ke elemen pertama watak multibait yang ditukar menjadi watak lebar.
- maks: Jumlah aksara multibait maksimum yang hendak ditukar.
mbstowcs () Nilai pulangan
- Sekiranya penukaran berjaya, mbstowcs () mengembalikan bilangan aksara luas tidak termasuk watak penamat (iaitu ' 0') yang ditulis ke array tujuan.
- Sekiranya terdapat ralat semasa penukaran, ia akan mengembalikan -1.
Contoh: Bagaimana fungsi mbstowcs () berfungsi?
#include #include using namespace std; int main() ( char src() = "xc4xe3xbaxc3"; wchar_t dest(10); int num; num = mbstowcs(dest, src, MB_CUR_MAX); cout << "Number of wide character converted = " << num << endl; wcout << "Wide Character String = " << dest << endl; return 0; )
Semasa anda menjalankan program, output yang mungkin adalah:
Bilangan watak lebar ditukar = 1 String Watak Lebar = ─