Ц ++ вцтомб () - Ц ++ стандардна библиотека

Функција вцтомб () у Ц ++ претвара широки карактер у вишебајтни знак.

Функција вцтомб () је дефинисана у датотеци заглавља.

прототип вцтомб ()

 инт вцтомб (цхар * пмб, вцхар_т вц);

Функција вцтомб () узима два аргумента и враћа целу вредност. Ова функција претвара широки карактер представљен вц у његов мултибајтни еквивалент и чува се на меморијској локацији назначеној пмб-ом. Максималан број знакова који се могу сачувати је МБ_ЦУР_МАКС .

Ако је вц нулти знак, нулти бајт се записује у пмб.

Ако је пмб нулти показивач, позив вцтомб () ресетоваће глобално стање конверзије и одређује да ли се користе секвенце померања.

вцтомб () параметри

  • пмб: Показивач на резултујући мултибајтни знак
  • вц: Широки знак који се претвара у вишебајтни знак

вцтомб () Повратна вредност

Ако пмб није нулл показивач, вцтомб () враћа:

  • број бајтова који су садржани у вишбајтном представљању вц.
  • -1 ако вц није важећи знак.

Ако је пмб нулл показивач, ресетује своје унутрашње стање конверзије да представља почетно стање померања и враћа:

  • 0 ако тренутно вишебајтно кодирање не зависи од стања (не користи секвенце померања)
  • вредност која није нула ако је тренутно вишебајтно кодирање зависно од стања (користи секвенце померања).

Пример: Како функционише функција вцтомб ()?

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

Када покренете програм, могући излаз ће бити:

 Када пмб није нула Повратна вредност = 1 вишебајтни знак: к↨Р Када је пмб нула Повратна вредност = 0 вишебајтни знак:

Занимљиви Чланци...