C ++ c16rtomb () - C ++ standardna biblioteka

Funkcija c16rtomb () u C ++ pretvara 16-bitnu predstavu znakova u usku predstavu višebajtnih znakova.

Funkcija c16rtomb () definirana je u zaglavnoj datoteci.

c16rtomb () Prototip

 size_t c16rtomb (char * s, char16_t c16, mbstate_t * ps);

Funkcija c16rtomb () pretvara utf-16 znak c16 u njegov multibajtni ekvivalent i pohranjuje ga u objekt na koji ukazuje s.

Ako s predstavlja null pokazivač, poziv je ekvivalentan c16rtomb (buf, u ' 0', ps) za neki interni buffer buff.

Ako je c16 null širok znak tj. U ' 0', sprema se null bajt.

c16rtomb () Parametri

  • s: Pokazivač na niz znakova u kojem treba pohraniti višebajtni znak.
  • c16: 16-bitni znak za pretvorbu.
  • ps: Pokazivač na objekt mbstate_t koji se koristi za tumačenje višebajtnog niza.

c16rtomb () Povratna vrijednost

  • Nakon uspjeha funkcija c16rtomb () vraća broj bajtova zapisanih u niz znakova na koji pokazuje s.
  • U slučaju neuspjeha, vraća se -1 i EILSEQ se sprema u pogrešku.

Primjer: Kako funkcionira funkcija c16rtomb ()?

 #include #include using namespace std; int main() ( const char16_t str() = u"Hello World!"; char s(50); mbstate_t ps(); size_t length; int j = 0; while (str(j)) ( length = c16rtomb(s, str(j), &ps); if ((length == 0) || (length> 50)) break; for (int i=0; i 

When you run the program, the output will be:

 Hello World!

Zanimljivi članci...