C ++ wctomb () - C ++ standaardbibliotheek

De functie wctomb () in C ++ converteert een breed teken naar een multibyte-teken.

De functie wctomb () is gedefinieerd in het header-bestand.

wctomb () prototype

 int wctomb (char * pmb, wchar_t wc);

De functie wctomb () heeft twee argumenten en retourneert een geheel getal. Deze functie converteert het brede teken dat wordt weergegeven door wc naar zijn multibyte-equivalent en wordt opgeslagen op de geheugenlocatie die wordt aangegeven door pmb. Het maximale aantal tekens dat kan worden opgeslagen, is MB_CUR_MAX .

Als wc het nul-teken is, wordt de nul-byte naar pmb geschreven.

Als pmb een null-pointer is, zal een aanroep naar wctomb () de globale conversiestatus resetten en bepalen of shift-sequenties worden gebruikt.

wctomb () Parameters

  • pmb: Pointer naar het resulterende multibyte-teken
  • wc: breed teken dat wordt geconverteerd naar een multibyte-teken

wctomb () Retourwaarde

Als pmb geen null-pointer is, retourneert wctomb ():

  • het aantal bytes dat is opgenomen in de multibyte-weergave van wc.
  • -1 als wc geen geldig teken is.

Als pmb een null-pointer is, wordt de interne conversiestatus opnieuw ingesteld om de oorspronkelijke shift-status weer te geven en retourneert:

  • 0 als de huidige multibyte-codering niet toestandsafhankelijk is (gebruikt geen shift-sequenties)
  • een niet-nulwaarde als de huidige multibyte-codering toestandsafhankelijk is (gebruikt shiftsequenties).

Voorbeeld: hoe werkt de functie 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); )

Wanneer u het programma uitvoert, is een mogelijke uitvoer:

 Als pmb niet nul is Retourwaarde = 1 Multibyte-teken: x↨R Als pmb nul is Retourwaarde = 0 Multibyte-teken:

Interessante artikelen...