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

A wctomb () függvény a C ++ nyelven egy széles karaktert átalakít többbájtos karakterré.

A wctomb () függvény a fejlécfájlban van meghatározva.

wctomb () prototípus

 int wctomb (char * pmb, wchar_t wc);

A wctomb () függvény két argumentumot vesz fel, és egy egész értéket ad vissza. Ez a függvény a wc által képviselt széles karaktert átalakítja többbájtos egyenértékévé, és a pmb által mutatott memóriahelyen tárolódik. A tárolható karakterek maximális száma MB_CUR_MAX .

Ha a wc a null karakter, akkor a null bájt a pmb-be íródik.

Ha a pmb null mutató, akkor a wctomb () hívása visszaállítja a globális konverziós állapotot, és meghatározza, hogy használnak-e eltolási szekvenciákat.

wctomb () Paraméterek

  • pmb: Az így kapott többbájtos karakter mutatója
  • wc: Széles karakter, amelyet többbájtos karakterré alakítanak át

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

Ha a pmb nem null mutató, akkor a wctomb () a következőt adja vissza:

  • a wc többbájtos ábrázolásában található bájtok száma.
  • -1, ha a wc nem érvényes karakter.

Ha a pmb null mutató, akkor visszaállítja a belső konverziós állapotot a kezdeti váltási állapot képviseletére, és visszaadja:

  • 0, ha az aktuális többbájtos kódolás nem állapotfüggő (nem használ eltolási szekvenciákat)
  • nem nulla érték, ha az aktuális többbájtos kódolás állapotfüggő (eltolási szekvenciákat használ).

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

 #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); )

A program futtatásakor egy lehetséges kimenet lesz:

 Ha a pmb nem null Visszatérési érték = 1 többbájtos karakter: x↨R Ha a pmb értéke null.

érdekes cikkek...