C ++ c16rtomb () - standardní knihovna C ++

Funkce c16rtomb () v C ++ převádí 16bitovou reprezentaci znaků na úzkou vícebajtovou reprezentaci znaků.

Funkce c16rtomb () je definována v hlavičkovém souboru.

c16rtomb () prototyp

 size_t c16rtomb (char * s, char16_t c16, mbstate_t * ps);

Funkce c16rtomb () převádí znak c16 utf-16 na jeho vícebajtový ekvivalent a ukládá jej do objektu, na který ukazuje s.

Pokud s představuje nulový ukazatel, je volání ekvivalentní c16rtomb (buf, u ' 0', ps) pro nějaký vnitřní buf buf.

Pokud je c16 znakem s nulovou šířkou, tj. U ' 0', uloží se nulový bajt.

Parametry c16rtomb ()

  • s: Ukazatel na pole znaků, kde má být uložen vícebajtový znak.
  • c16: 16bitový znak, který se má převést.
  • ps: Ukazatel na objekt mbstate_t použitý při interpretaci vícebajtového řetězce.

c16rtomb () Návratová hodnota

  • Při úspěchu funkce c16rtomb () vrací počet bajtů zapsaných do pole znaků, na které ukazuje s.
  • Při selhání se vrátí -1 a EILSEQ se uloží do errno.

Příklad: Jak funguje funkce 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!

Zajímavé články...