C ++ wcrtomb () - štandardná knižnica C ++

Funkcia wcrtomb () v C ++ prevádza široký znak na úzke viacbajtové zastúpenie.

Wcrtomb () je definované v hlavičkovom súbore.

prototyp wcrtomb ()

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

Funkcia wcrtomb () prevádza široký znak predstavovaný wc na úzky viacbajtový znak a je uložená na adrese, na ktorú odkazuje s.

  • Ak s nie je nulový ukazovateľ, funkcia wcrtomb () určuje maximálny počet bajtov potrebný na uloženie viacbajtovej reprezentácie wc a uloží ju do pamäte, na ktorú ukazuje s. Je možné zapísať maximálne MB_CUR_MAX bajtov. Hodnota ps sa podľa potreby aktualizuje.
  • Ak s je nulový ukazovateľ, volanie je ekvivalentné s hodnotou wcrtomb(buf, L'', ps)pre nejaký vnútorný buffer buf.
  • Ak wc == L''je uložený nulový bajt.

Parametre wcrtomb ()

  • s: Ukazovateľ na viacbajtové pole znakov na uloženie výsledku.
  • wc: Konvertovať široký znak.
  • ps: Ukazovateľ na stav konverzie použitý pri interpretácii viacbytového reťazca

wcrtomb () Vrátená hodnota

  • Ak bude úspešná, funkcia wcrtomb () vráti počet bajtov zapísaných do poľa znakov, na ktorý je s prvkom ukázané s.
  • Pri zlyhaní (tj. Wc nie je platný široký znak) vráti -1, errno je nastavené na EILSEQ a ponechá * ps v nešpecifikovanom stave.

Príklad: Ako funguje funkcia wcrtomb ()?

 #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

Zaujímavé články...