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