C ++ c16rtomb () - C ++ Standardbibliotek

Funksjonen c16rtomb () i C ++ konverterer 16-biters representasjon til en smal multibyte-representasjon.

Funksjonen c16rtomb () er definert i topptekstfilen.

c16rtomb () Prototype

 størrelse_t c16rtomb (char * s, char16_t c16, mbstate_t * ps);

Funksjonen c16rtomb () konverterer utf-16-tegnet c16 til dets multibytekvivalenter og lagrer det i objektet som s. Peker på.

Hvis s representerer en nullpeker, tilsvarer anropet c16rtomb (buf, u ' 0', ps) for noen intern buffer buf.

Hvis c16 er null-bredt tegn, dvs. u ' 0', lagres en null-byte.

c16rtomb () Parametere

  • s: Peker til et tegnarray der multibytetegnet skal lagres.
  • c16: 16-biters tegnet som skal konverteres.
  • ps: En peker til et mbstate_t-objekt som brukes når du tolker multibytestrengen.

c16rtomb () Returverdi

  • Når det lykkes, returnerer c16rtomb () -funksjonen antall byte som er skrevet til tegnmatrisen som er pekt på med s.
  • Ved feil returneres -1 og EILSEQ lagres i errno.

Eksempel: Hvordan fungerer c16rtomb ()?

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

Interessante artikler...