C ++ wcstombs () - Standardna knjižnica C ++

Funkcija wcstombs () v jeziku C ++ pretvori širok znakovni niz v enakovredno večbajtno zaporedje.

Funkcija wcstombs () je definirana v datoteki glave.

prototip wcstombs ()

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

Funkcija wcstombs () sprejme tri argumente in vrne celoštevilčno vrednost.

Ta funkcija pretvori širok znakovni niz, katerega prvi element kaže src, v njegovo večbajtno predstavitev.

Rezultat je shranjen na pomnilniškem mestu, ki ga kaže dest. Parameter max predstavlja največje število širokih znakov, ki jih je treba pretvoriti.

Mehanizem pretvorbe je enak mehanizmu pretvorbe wctomb, le da stanje pretvorbe wctomb ne vpliva. Pretvorba se ustavi, če:

  • Naleti se na ničelni znak, ki se nato pretvori in shrani.
  • Ugotovljen je bil wchar_t, ki ne ustreza veljavnemu znaku v trenutni področni nastavitvi C.
  • pretvorjeno je največje število širokih znakov.

wcstombs () Parametri

  • dest: Kazalec na nastalo večbajtno polje znakov.
  • src: Kazalec na prvi element širokega znaka, ki se pretvori v večbajtni znak.
  • max: največje število širokih znakov za pretvorbo.

wcstombs () Vrnjena vrednost

  • Če je pretvorba uspešna, wcstombs () vrne število večbajtnih znakov, razen končnega znaka (tj. 0), ki je zapisan v ciljno matriko.
  • Če med pretvorbo pride do napake, vrne -1.

Primer: Kako deluje 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; )

Ko zaženete program, bo možen izhod:

 Število pretvorjenih širokih znakov = 24 večbajtnih znakovnih nizov = Dobrodošli na Programiz.com

Zanimive Članki...