C ++ c16rtomb () - C ++ szabványos könyvtár

A C16+ c16rtomb () függvény a 16 bites karakterábrázolást keskeny többbájtos karakterábrázolássá alakítja.

A c16rtomb () függvény a fejlécfájlban van meghatározva.

c16rtomb () prototípus

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

A c16rtomb () függvény átalakítja a c16 utf-16 karaktert többbájtos egyenértékévé, és eltárolja azt az objektumban, amelyre s mutat.

Ha s null mutatót jelent, akkor a hívás egyenértékű valamilyen belső puffer buf esetében a c16rtomb (buf, u ' 0', ps) értékkel.

Ha c16 a null széles karakter, azaz u ' 0', akkor null bájt tárolódik.

c16rtomb () Paraméterek

  • s: Olyan karaktertömb mutatója, ahol a többbájtos karaktert tárolni kell.
  • c16: Az átalakítandó 16 bites karakter.
  • ps: Egy mbstate_t objektum mutatója, amelyet a többbájtos karakterlánc értelmezéséhez használnak.

c16rtomb () Visszatérési érték

  • Siker esetén a c16rtomb () függvény visszaadja az s által mutatott karaktertömbbe írt bájtok számát.
  • Meghibásodás esetén -1 visszatér, és az EILSEQ az errno-ban tárolódik.

Példa: Hogyan működik a c16rtomb () függvény?

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

érdekes cikkek...