A C ++ c32rtomb () függvénye egy 32 bites karaktert reprezentációvá alakít át keskeny többbájtos karakterábrázolássá.
A c32rtomb () függvény a fejlécfájlban van meghatározva.
c32rtomb () prototípus
size_t c32rtomb (char * s, char32_t c32, mbstate_t * ps);
A c32rtomb () függvény átalakítja a c32 utf-32 karaktert többbájtos egyenértékévé, és eltárolja azt az objektumban, amelyre s mutat.
Ha s nullpontot képvisel, akkor a hívás megegyezik a belső puffer buf esetében a c32rtomb (buf, U ' 0', ps) értékkel.
Ha a c32 a null széles karakter, azaz U ' 0', akkor egy null bájt tárolódik.
c32rtomb () Paraméterek
- s: mutató egy olyan tömbhöz, ahol a többbájtos karakter van tárolva.
- c32: Az átalakítandó 32 bites karakter.
- ps: Egy mbstate_t objektum mutatója, amelyet a többbájtos karakterlánc értelmezéséhez használnak.
c32rtomb () Visszatérési érték
- Siker esetén a c32rtomb () 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 errno értéke EILSEQ .
Példa: Hogyan működik a c32rtomb () függvény?
#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.