C ++ c16rtomb () - C ++ standartinė biblioteka

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!

Įdomios straipsniai...