Funksjonen c32rtomb () i C ++ konverterer et 32-biters tegn til representasjon til en smal multibyte-representasjon.
Funksjonen c32rtomb () er definert i topptekstfilen.
c32rtomb () prototype
størrelse_t c32rtomb (char * s, char32_t c32, mbstate_t * ps);
Funksjonen c32rtomb () konverterer utf-32-tegnet c32 til multibytekvivalenten og lagrer den i objektet som er pekt på.
Hvis s representerer en nullpeker, tilsvarer samtalen c32rtomb (buf, U ' 0', ps) for noen intern buffer buf.
Hvis c32 er det nullbrede tegnet, dvs. U ' 0', lagres en nullbyte.
c32rtomb () Parametere
- s: Peker til et tegnarray der multibytetegnet er lagret.
- c32: 32-biters tegnet som skal konverteres.
- ps: En peker til et mbstate_t-objekt som brukes når du tolker multibytestrengen.
c32rtomb () Returverdi
- Ved suksess returnerer c32rtomb () -funksjonen antall byte som er skrevet til tegnmatrisen pekt på av s.
- Ved feil returneres -1 og errno er satt til EILSEQ .
Eksempel: Hvordan fungerer c32rtomb ()?
#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.