Funktionen c32rtomb () i C ++ konverterar ett 32-bitars tecken till representation till en smal multibyt-teckenrepresentation.
Funktionen c32rtomb () definieras i rubrikfilen.
c32rtomb () prototyp
size_t c32rtomb (char * s, char32_t c32, mbstate_t * ps);
Funktionen c32rtomb () konverterar utf-32-tecknet c32 till dess multibytekvivalent och lagrar det i det objekt som pekas på av s.
Om s representerar en nollpekare är samtalet ekvivalent med c32rtomb (buf, U ' 0', ps) för viss intern buffert-buf.
Om c32 är det null breda tecknet, dvs U ' 0', lagras en null byte.
c32rtomb () Parametrar
- s: Pekare till en teckenuppsättning där multibytkaraktären lagras.
- c32: 32-bitars karaktären som ska konverteras.
- ps: En pekare till ett mbstate_t-objekt som används vid tolkning av multibytsträngen.
c32rtomb () Returvärde
- Vid framgång returnerar funktionen c32rtomb () antalet byte skrivna till teckenuppsättningen pekad av s.
- Vid fel returneras -1 och errno ställs in på EILSEQ .
Exempel: Hur fungerar c32rtomb ()?
#include #include using namespace std; int main() ( const char32_t str() = U"C++ is super fast."; char s(50); mbstate_t ps(); size_t length; int j = 0; while (str(j)) ( length = c32rtomb(s, str(j), &ps); if ((length == 0) || (length> 50)) break; for (int i=0; i
When you run the program, the output will be:
C++ is super fast.