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.