C ++ wcrtomb () - C ++ standaardbibliotheek

De functie wcrtomb () in C ++ converteert een breed teken naar zijn smalle multibyte-weergave.

De wcrtomb () is gedefinieerd in het header-bestand.

wcrtomb () prototype

 size_t wcrtomb (char * s, wchar_t wc, mbstate_t * ps);

De functie wcrtomb () converteert het brede teken dat wordt weergegeven door wc naar een smal multibyte-teken en wordt opgeslagen in het adres waarnaar wordt verwezen door s.

  • Als s geen null-pointer is, bepaalt de functie wcrtomb () het maximale aantal bytes dat nodig is om de multibyte-weergave van wc op te slaan en slaat deze op de geheugenlocatie waarnaar s verwijst. Er kunnen maximaal MB_CUR_MAX bytes worden geschreven. De waarde van ps wordt indien nodig bijgewerkt.
  • Als s een null-pointer is, is de aanroep equivalent aan wcrtomb(buf, L'', ps)voor een interne buffer buf.
  • Als wc == L''er een nulbyte is opgeslagen.

wcrtomb () Parameters

  • s: Pointer naar de multibyte-tekenreeks om het resultaat op te slaan.
  • wc: breed karakter om te converteren.
  • ps: Pointer naar de conversiestatus die wordt gebruikt bij het interpreteren van de multibyte-reeks

wcrtomb () Retourwaarde

  • Bij succes retourneert de functie wcrtomb () het aantal bytes dat is geschreven naar de tekenreeks waarvan het eerste element wordt aangeduid door s.
  • Bij een fout (dwz wc is geen geldig breed teken), retourneert het -1, errno is ingesteld op EILSEQ en laat * ps in een niet-gespecificeerde staat.

Voorbeeld: hoe werkt wcrtomb () functie?

 #include #include #include using namespace std; int main() ( setlocale(LC_ALL, "en_US.utf8"); wchar_t str() = L"uu00c6u00f5u01b5"; char s(16); int retVal; mbstate_t ps = mbstate_t(); for (int i=0; i 

When you run the program, the output will be:

 Size of u is 1 bytes Size of Æ is 2 bytes Size of õ is 2 bytes Size of Ƶ is 2 bytes

Interessante artikelen...