C ++ wcrtomb () - C ++ szabványos könyvtár

A wcrtomb () függvény a C ++ nyelven széles karaktert alakít át keskeny többbájtos ábrázolásává.

A wcrtomb () a fejlécfájlban van megadva.

wcrtomb () prototípus

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

A wcrtomb () függvény a wc által képviselt széles karaktert keskeny többbájtos jellé alakítja, és az s által jelzett címben tárolódik.

  • Ha s nem null mutató, akkor a wcrtomb () függvény meghatározza a wc multibyte-os ábrázolásának tárolásához szükséges bájtok maximális számát, és eltárolja azt az memóriahelyen, amelyre s mutat. Legfeljebb MB_CUR_MAX bájt írható. A ps értéke szükség szerint frissül.
  • Ha s nullmutató, akkor a hívás megegyezik wcrtomb(buf, L'', ps)néhány belső puffer-buféval.
  • Ha wc == L''null bájt tárolódik.

wcrtomb () Paraméterek

  • s: A többbájtos karaktertömb mutatója az eredmény tárolásához.
  • wc: Széles karakter az átalakításhoz.
  • ps: A többbájtos karakterlánc értelmezésekor használt konverziós állapot mutatója

wcrtomb () Visszatérési érték

  • Siker esetén a wcrtomb () függvény visszaadja a karaktertömbbe írt bájtok számát, amelynek első elemére s mutat.
  • Meghibásodáskor (azaz a wc nem érvényes széles karakter) visszatér -1 értékre , az errno értéke EILSEQ, és a * ps nem meghatározott állapotban marad.

Példa: Hogyan működik a wcrtomb () függvény?

 #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

érdekes cikkek...