Funkcija c16rtomb () v jeziku C ++ pretvori 16-bitno predstavitev znakov v ozko večbajtno predstavitev znakov.
Funkcija c16rtomb () je definirana v glavi datoteke.
c16rtomb () Prototip
size_t c16rtomb (char * s, char16_t c16, mbstate_t * ps);
Funkcija c16rtomb () pretvori znak utf-16 c16 v večbajtni ekvivalent in ga shrani v predmet, na katerega kaže s.
Če s predstavlja ničelni kazalec, je klic enak c16rtomb (buf, u ' 0', ps) za nekaj notranjega medpomnilnika.
Če je c16 ničelni znak, tj. U ' 0', se shrani ničelni bajt.
c16rtomb () Parametri
- s: Kazalec na niz znakov, v katerem naj bo shranjen večbajtni znak.
- c16: 16-bitni znak za pretvorbo.
- ps: Kazalec na objekt mbstate_t, ki se uporablja pri interpretaciji večbajtnega niza.
c16rtomb () Vrnjena vrednost
- Po uspehu funkcija c16rtomb () vrne število bajtov, zapisanih v niz znakov, na katerega kaže s.
- Ob napaki se vrne -1 in EILSEQ se shrani v errno.
Primer: Kako deluje 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!