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

Funkce c32rtomb () v C ++ převádí 32bitový znak na reprezentaci na úzkou vícebajtovou reprezentaci znaků.

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

prototyp c32rtomb ()

 size_t c32rtomb (char * s, char32_t c32, mbstate_t * ps);

Funkce c32rtomb () převádí znak c32 utf-32 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í c32rtomb (buf, U ' 0', ps) pro nějaký vnitřní buf buf.

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

Parametry c32rtomb ()

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

c32rtomb () Návratová hodnota

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

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

Zajímavé články...