Funktionen c16rtomb () i C ++ konverterar 16 bitars teckenrepresentation till en smal multibyte-representation.
Funktionen c16rtomb () definieras i rubrikfilen.
c16rtomb () Prototyp
size_t c16rtomb (char * s, char16_t c16, mbstate_t * ps);
Funktionen c16rtomb () omvandlar utf-16-tecknet c16 till dess multibytekvivalent och lagrar det i det objekt som pekas på av s.
Om s representerar en nollpekare är samtalet ekvivalent med c16rtomb (buf, u ' 0', ps) för viss intern buffert-buf.
Om c16 är det breda nulltecknet, dvs u ' 0', lagras en nullbyte.
c16rtomb () Parametrar
- s: Pekare till ett teckenarray där multibytkaraktären ska lagras.
- c16: 16-bitars karaktären som ska konverteras.
- ps: En pekare till ett mbstate_t-objekt som används vid tolkning av multibytsträngen.
c16rtomb () Returvärde
- Vid framgång returnerar funktionen c16rtomb () antalet byte skrivna till teckenuppsättningen pekad av s.
- Vid fel returneras -1 och EILSEQ lagras i errno.
Exempel: Hur fungerar 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!