C ++ c16rtomb () - C ++ standardraamatukogu

Funktsioon c16rtomb () C ++ -s teisendab 16-bitise märgiesituse kitsaks mitmebaidiseks tähemärgi esituseks.

Funktsioon c16rtomb () on määratletud päisefailis.

c16rtomb () prototüüp

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

Funktsioon c16rtomb () teisendab utf-16 tähemärgi c16 oma mitmebaidiseks ekvivalendiks ja salvestab selle objektile, millele s osutab.

Kui s tähistab nullkursorit, on kõne samaväärne mõne sisemise puhvri buf-i väärtusega c16rtomb (buf, u ' 0', ps).

Kui c16 on null-lai tähemärk, st u ' 0', salvestatakse nullbait.

c16rtomb () parameetrid

  • s: Märkide massiivi osuti, kuhu tuleb salvestada mitmebaidine märk.
  • c16: teisendatav 16-bitine märk.
  • ps: osuti mbstate_t objektile, mida kasutatakse mitmebaidise stringi tõlgendamisel.

c16rtomb () Tagastusväärtus

  • Edu korral tagastab funktsioon c16rtomb () tähemärkide massiivile kirjutatud baitide arvu, millele osutab s.
  • Rikke korral tagastatakse -1 ja EILSEQ salvestatakse errno.

Näide: Kuidas funktsioon c16rtomb () töötab?

 #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!

Huvitavad Artiklid...