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!