C ++ mbtowc () - C ++ Standardbibliotek

Funksjonen mbtowc () i C ++ konverterer et multibyte-tegn til et bredt tegn.

Funksjonen mbtwoc () er definert i topptekstfilen.

mbtowc () prototype

 int mbtowc (wchar_t * pwc, const char * pmb, size_t max);

Funksjonen mbtowc () tar tre argumenter og returnerer en heltallverdi. Denne funksjonen konverterer multibyttegnet som er pekt av pmb til et bredt tegn (verdi av typen wchar_t) og lagres på minneplasseringen pekt av pwc.

Hvis pmb er en nullpeker, vil et anrop til mbtowc () nullstille den globale konverteringstilstanden og bestemme om skiftesekvenser skal brukes.

mbtowc () Parametere

  • pwc: peker til den resulterende brede karakteren
  • pmb: peker til multibyte-tegnet som konverteres til bred karakter
  • maks: Maksimal størrelse i byte på pmb for å ta hensyn til multibyte-tegnet.

mbtowc () Returverdi

Hvis pmb ikke er en nullpeker, returnerer mbtowc ():

  • antall byte som er inneholdt i multibyte-tegnet pekt av pmb.
  • -1 hvis den første byten pekt av pmb ikke danner et gyldig multibyttegn.
  • 0 hvis pmb peker på det avsluttende nulltegnet, dvs. ' 0'.

Hvis pmb er en nullpeker, tilbakestiller den interne konverteringstilstanden til å representere den opprinnelige skifttilstanden og returnerer:

  • 0 hvis den nåværende multibytekodingen ikke er avhengig av staten (bruker ikke skiftingssekvenser)
  • en verdi som ikke er null, hvis den nåværende multibytekodingen er tilstandsavhengig (bruker skift-sekvenser).

Eksempel: Hvordan fungerer mbtowc ()?

 #include #include #include using namespace std; int main() ( char pmb() = "Welcome to Programiz.com"; wchar_t pwc(100); int len, ret_val; /* resets internal conversion state */ mbtowc (NULL, NULL, 0); len = strlen(pmb); ret_val = mbtowc(pwc, pmb, strlen(pmb)); cout << "Return Value = " << ret_val << endl; wcout << "Wide character string: " << pwc; return(0); )

Når du kjører programmet, vil en mulig utgang være:

 Returverdi = 1 bred tegnstreng: W @

Interessante artikler...