Funkcija c16rtomb () C ++ paverčia 16 bitų simbolių vaizdavimą siauru daugiabačio simbolių atvaizdavimu.
Funkcija c16rtomb () yra apibrėžta antraštės faile.
c16rtomb () prototipas
dydis_t c16rtomb (char * s, char16_t c16, mbstate_t * ps);
Funkcija „c16rtomb“ () paverčia „utf-16“ simbolį „c16“ į daugiabaitį atitikmenį ir saugo jį s nurodytame objekte.
Jei s reiškia nulinį rodyklę, iškvietimas yra lygus c16rtomb (buf, u ' 0', ps) tam tikram vidiniam buferio bufui.
Jei c16 yra nulinis platus simbolis, ty u ' 0', saugomas nulinis baitas.
c16rtomb () parametrai
- s: žymeklis į simbolių masyvą, kuriame turi būti saugomas kelių baitų simbolis.
- c16: 16 bitų simbolis, kurį reikia konvertuoti.
- ps: žymeklis į objektą „mbstate_t“, naudojamas aiškinant kelių baitų eilutę.
c16rtomb () Grąžinimo vertė
- Pasisekus, funkcija c16rtomb () grąžina baitų, parašytų simbolių masyvui, skaičių, nurodytą s.
- Sugedus, grąžinama -1 ir EILSEQ saugoma errno.
Pavyzdys: Kaip veikia 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!