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.