C ++ wctomb () - C ++ Standardbibliotek

Funktionen wctomb () i C ++ konverterer et bredt tegn til et multibyttegn.

Funktionen wctomb () er defineret i headerfilen.

wctomb () prototype

 int wctomb (char * pmb, wchar_t wc);

Funktionen wctomb () tager to argumenter og returnerer en heltalværdi. Denne funktion konverterer det brede tegn, der er repræsenteret af wc, til dets multibyteækvivalenter og lagres på det hukommelsessted, der er peget af pmb. Det maksimale antal tegn, der kan gemmes, er MB_CUR_MAX .

Hvis wc er nulltegnet, skrives nullbyten til pmb.

Hvis pmb er en nul pointer, nulstiller et opkald til wctomb () den globale konverteringstilstand og bestemmer, om skiftesekvenser bruges.

wctomb () Parametre

  • pmb: Markør til det resulterende multibyttegn
  • wc: Bredt tegn, der konverteres til multibyttegn

wctomb () Returværdi

Hvis pmb ikke er en nulmarkør, returnerer wctomb ():

  • antallet af byte, der er indeholdt i multibytrepræsentationen af ​​wc.
  • -1 hvis wc ikke er et gyldigt tegn.

Hvis pmb er en nul pointer, nulstiller dens interne konverteringstilstand for at repræsentere den oprindelige skifttilstand og returnerer:

  • 0, hvis den aktuelle multibyte-kodning ikke er tilstandsafhængig (bruger ikke shift-sekvenser)
  • en værdi, der ikke er nul, hvis den aktuelle multibytkodning er tilstandsafhængig (bruger shift-sekvenser).

Eksempel: Hvordan fungerer wctomb ()?

 #include #include using namespace std; int main() ( wchar_t wc = L'x'; char *pmb1 = (char*)malloc(sizeof(char)); char *pmb2 = NULL; int ret_val; cout << "When pmb is not null" << endl; ret_val = wctomb(pmb1, wc); cout << "Return Value = " << ret_val << endl; wcout << "Multibyte Character: " << pmb1 << endl << endl; cout << "When pmb is null" << endl; ret_val = wctomb(pmb2, wc); cout << "Return Value = " << ret_val << endl; wcout << "Multibyte Character: " << pmb2; return(0); )

Når du kører programmet, vil en mulig output være:

 Når pmb ikke er null Return Value = 1 Multibyte Character: x↨R When pmb is null Return Value = 0 Multibyte Character:

Interessante artikler...