Функција мбтовц () у Ц ++ претвара вишебајтни знак у широки.
Функција мбтвоц () је дефинисана у датотеци заглавља.
мбтовц () прототип
инт мбтовц (вцхар_т * пвц, цонст цхар * пмб, сизе_т мак);
Функција мбтовц () узима три аргумента и враћа целу вредност. Ова функција претвара вишебајтни знак на који указује пмб у широки знак (вредност типа вцхар_т) и чува се на меморијској локацији на коју указује пвц.
Ако је пмб нулти показивач, позив мбтовц () ресетоваће глобално стање конверзије и одређује да ли се користе секвенце померања.
мбтовц () Параметри
- пвц: Показивач на резултирајући широки знак
- пмб: показивач на вишебајтни знак који се претвара у широки знак
- мак: Максимална величина у бајтовима пмб-а која треба узети у обзир за вишебајтни знак.
мбтовц () Повратна вредност
Ако пмб није нулл показивач, мбтовц () враћа:
- број бајтова који се налазе у вишебајтном знаку на који указује пмб.
- -1 ако први бајт на који указује пмб не формира важећи вишебајтни знак.
- 0 ако пмб показује на завршавајући нулл знак тј. 0.
Ако је пмб нулл показивач, ресетује своје унутрашње стање конверзије да представља почетно стање померања и враћа:
- 0 ако тренутно вишебајтно кодирање не зависи од стања (не користи секвенце померања)
- вредност која није нула ако је тренутно вишебајтно кодирање зависно од стања (користи секвенце померања).
Пример: Како функционише функција мбтовц ()?
#include #include #include using namespace std; int main() ( char pmb() = "Welcome to Programiz.com"; wchar_t pwc(100); int len, ret_val; /* resets internal conversion state */ mbtowc (NULL, NULL, 0); len = strlen(pmb); ret_val = mbtowc(pwc, pmb, strlen(pmb)); cout << "Return Value = " << ret_val << endl; wcout << "Wide character string: " << pwc; return(0); )
Када покренете програм, могући излаз ће бити:
Повратна вредност = 1 Широки низ знакова: В @