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!