C ++ mbtowc () - C ++ Standardbibliotek

Funktionen mbtowc () i C ++ konverterar ett multibyt-tecken till ett brett tecken.

Funktionen mbtwoc () definieras i rubrikfilen.

mbtowc () prototyp

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

Funktionen mbtowc () tar tre argument och returnerar ett heltal. Denna funktion konverterar multibytkaraktären som pekas av pmb till ett brett tecken (värde av typen wchar_t) och lagras på minnesplatsen pekad av pwc.

Om pmb är en nollpekare kommer ett samtal till mbtowc () att återställa det globala omvandlingstillståndet och avgöra om skiftningssekvenser används.

mbtowc () Parametrar

  • pwc: pekare till den resulterande breda karaktären
  • pmb: Pekare till multibytkaraktären som omvandlas till bred karaktär
  • max: Maximal storlek i byte av pmb för att ta hänsyn till multibyte-tecknet.

mbtowc () Returvärde

Om pmb inte är en nollpekare returnerar mbtowc ():

  • antalet byte som finns i multibyt-tecknet som pekas av pmb.
  • -1 om den första byten som pekas av pmb inte bildar ett giltigt multibyt-tecken.
  • 0 om pmb pekar på det avslutande nulltecknet, dvs. ' 0'.

Om pmb är en nollpekare återställs dess interna omvandlingstillstånd för att representera det initiala skifttillståndet och returnerar:

  • 0 om den nuvarande multibytkodningen inte är tillståndsberoende (använder inte skiftningssekvenser)
  • ett icke-nollvärde om den aktuella multibyte-kodningen är tillståndsberoende (använder skiftningssekvenser).

Exempel: Hur fungerar 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 kör programmet blir en möjlig utdata:

 Returvärde = 1 Bred teckensträng: W @

Intressanta artiklar...