Функција вцртомб () у језику Ц ++ претвара широки карактер у свој уски вишебајтни приказ.
Вцртомб () је дефинисан у датотеци заглавља.
прототип вцртомб ()
сизе_т вцртомб (цхар * с, вцхар_т вц, мбстате_т * пс);
Функција вцртомб () претвара широки знак представљен вц у уски вишебајтни знак и чува се на адреси на коју показује с.
- Ако с није нулл показивач, функција вцртомб () одређује максималан број бајтова потребних за чување вишбајтног приказа вц-а и чува га на меморијској локацији на коју указује с. Може бити записано највише МБ_ЦУР_МАКС бајтова. Вредност пс се ажурира према потреби.
- Ако је с нулл показивач, позив је еквивалентан
wcrtomb(buf, L' ', ps)
за неки интерни буффер буфф. - Ако
wc == L' '
је сачуван нулти бајт.
вцртомб () параметри
- с: Показивач на вишебајтни низ знакова за чување резултата.
- вц: Широки карактер за претварање.
- пс: Показивач на стање конверзије које се користи приликом тумачења вишебајтног низа
вцртомб () Повратна вредност
- У успеху, функција вцртомб () враћа број бајтова записаних у низ знакова на чији је први елемент указано с.
- У случају неуспеха (тј. Вц није важећи широки знак), враћа -1, еррно је постављено на ЕИЛСЕК и оставља * пс у неодређеном стању.
Пример: Како функционише функција вцртомб ()?
#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