C ++ c32rtomb () - C ++ standardraamatukogu

Funktsioon c32rtomb () C ++ -s teisendab 32-bitise märgi representatsiooniks kitsaks mitmebaidiseks tähemärgiks.

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

c32rtomb () prototüüp

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

Funktsioon c32rtomb () teisendab tähe utf-32 c32 oma mitmebaidiseks ekvivalendiks ja salvestab selle objektile, millele s osutab.

Kui s tähistab nullkursorit, on kõne samaväärne mõne sisemise puhvri bufiga c32rtomb (buf, U ' 0', ps).

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

c32rtomb () parameetrid

  • s: Märkide massiivi osuti, kuhu on salvestatud mitmebaidine märk.
  • c32: teisendatav 32-bitine märk.
  • ps: osuti mbstate_t objektile, mida kasutatakse mitmebaidise stringi tõlgendamisel.

c32rtomb () Tagastusväärtus

  • Edu korral tagastab funktsioon c32rtomb () s-i osutatavale märkide massiivile kirjutatud baitide arvu.
  • Ebaõnnestumisel tagastatakse -1 ja vea väärtuseks määratakse EILSEQ .

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

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

Huvitavad Artiklid...