Fungsi mbstowcs () di C ++ mengonversi string karakter multibyte ke urutan karakter lebar yang setara.
Fungsi mbstowcs () didefinisikan dalam file header.
mbstowcs () prototipe
size_t mbstowcs (wchar_t * dest, const char * src, size_t max);
Fungsi mbstowcs () mengambil tiga argumen dan mengembalikan nilai integer.
Fungsi ini mengonversi string karakter multibyte yang elemen pertamanya ditunjukkan oleh src menjadi representasi karakter lebar (nilai tipe wchar_t).
Hasilnya disimpan di lokasi memori yang ditunjukkan oleh tujuan. Parameter max mewakili jumlah maksimum karakter multibyte yang akan dikonversi.
Mekanisme konversinya sama dengan mbtowc (), kecuali bahwa status konversi mbtowc tidak terpengaruh. Konversi berhenti jika:
- Karakter null ditemukan, yang kemudian diubah dan disimpan.
- Ditemukan karakter multibyte yang tidak valid.
- jumlah maksimal karakter multibyte telah dikonversi.
mbstowcs () Parameter
- dest: Menunjuk ke array karakter lebar yang dihasilkan.
- src: Pointer ke elemen pertama dari karakter multibyte yang diubah menjadi karakter lebar.
- maks: Jumlah maksimum karakter multibyte yang akan dikonversi.
mbstowcs () Mengembalikan nilai
- Jika konversi berhasil, mbstowcs () mengembalikan jumlah karakter lebar tidak termasuk karakter penghentian (yaitu ' 0') yang ditulis ke array tujuan.
- Jika terjadi kesalahan selama konversi, ini mengembalikan -1.
Contoh: Bagaimana fungsi mbstowcs () bekerja?
#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; )
Saat Anda menjalankan program, output yang mungkin adalah:
Jumlah karakter lebar yang dikonversi = 1 String Karakter Lebar = ─