C ++ wcstombs () - C ++ Pustaka Standar

Fungsi wcstombs () di C ++ mengonversi string karakter lebar menjadi urutan multibyte yang setara.

Fungsi wcstombs () didefinisikan dalam file header.

wcstombs () prototipe

 size_t wcstombs (char * dest, const wchar_t * src, size_t max);

Fungsi wcstombs () mengambil tiga argumen dan mengembalikan nilai integer.

Fungsi ini mengonversi string karakter lebar yang elemen pertamanya diarahkan oleh src ke representasi multibyte-nya.

Hasilnya disimpan di lokasi memori yang ditunjukkan oleh tujuan. Parameter max mewakili jumlah maksimum karakter lebar yang akan dikonversi.

Mekanisme konversinya sama dengan mekanisme pengubahan rahim, kecuali bahwa status konversi rahim tidak terpengaruh. Konversi berhenti jika:

  • Karakter null ditemukan, yang kemudian diubah dan disimpan.
  • Ditemukan wchar_t yang tidak sesuai dengan karakter yang valid di lokal C saat ini.
  • jumlah maksimum karakter lebar telah dikonversi.

wcstombs () Parameter

  • dest: Menunjuk ke larik karakter multibyte yang dihasilkan.
  • src: Pointer ke elemen pertama dari karakter lebar yang diubah menjadi karakter multibyte.
  • maks: Jumlah maksimum karakter lebar yang akan dikonversi.

wcstombs () Mengembalikan nilai

  • Jika konversi berhasil, wcstombs () mengembalikan jumlah karakter multibyte tidak termasuk karakter akhir (yaitu ' 0') yang ditulis ke larik tujuan.
  • Jika terjadi kesalahan selama konversi, ini mengembalikan -1.

Contoh: Bagaimana fungsi wcstombs () bekerja?

 #include #include using namespace std; int main() ( wchar_t src() = L"Welcome To Programiz.com"; char dest(50); int num; num = wcstombs(dest, src, 50); cout << "Number of wide character converted = " << num << endl; cout << "Multibyte Character String = " << dest << endl; return 0; )

Saat Anda menjalankan program, output yang mungkin adalah:

 Jumlah karakter lebar yang dikonversi = 24 Multibyte Karakter String = Selamat Datang di Programiz.com

Artikel yang menarik...