C ++ wcstombs () - C ++ standardna biblioteka

Funkcija wcstombs () u C ++ pretvara široki niz znakova u ekvivalentnu višebajtnu sekvencu.

Funkcija wcstombs () definirana je u zaglavnoj datoteci.

prototip wcstombs ()

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

Funkcija wcstombs () uzima tri argumenta i vraća cjelobrojnu vrijednost.

Ova funkcija pretvara široki niz znakova čiji je prvi element src usmjeren u njegov višebajtni prikaz.

Rezultat je pohranjen na memorijskom mjestu koje pokazuje dest. Parametar max predstavlja maksimalni broj širokih znakova koji se trebaju pretvoriti.

Mehanizam pretvorbe isti je kao i mehanizam wctomb, samo što to ne utječe na stanje pretvorbe wctomb. Pretvorba se zaustavlja ako:

  • Nailazi se na nulti znak koji se zatim pretvara i pohranjuje.
  • Pronađen je wchar_t koji ne odgovara važećem znaku u trenutnom C jeziku.
  • pretvoren je maksimalan broj širokih znakova.

wcstombs () parametri

  • dest: Pokazivač na rezultirajući višebajtni niz znakova.
  • src: pokazivač na prvi element širokog znaka koji se pretvara u višebajtni znak.
  • max: maksimalan broj širokih znakova koji se pretvaraju.

wcstombs () Povratna vrijednost

  • Ako je pretvorba uspješna, wcstombs () vraća broj višebajtnih znakova, isključujući završni znak (tj. ' 0') koji je zapisan u odredišni niz.
  • Ako se tijekom pretvorbe dogodi bilo kakva pogreška, vraća -1.

Primjer: Kako funkcionira funkcija wcstombs ()?

 #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; )

Kada pokrenete program, mogući izlaz bit će:

 Broj pretvorenih širokih znakova = 24 Višebajtni niz znakova = Dobrodošli na Programiz.com

Zanimljivi članci...