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

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

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

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

 сизе_т вцстомбс (цхар * дест, цонст вцхар_т * срц, сизе_т мак);

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

Ова функција претвара широки низ знакова чији је први елемент срц указан у његову мултибајтну представу.

Резултат се чува на меморијској локацији коју показује дест. Параметар мак представља максималан број широких знакова који се конвертују.

Механизам конверзије је исти као и механизам вцтомб, с тим што то не утиче на стање конверзије вцтомб. Конверзија се зауставља ако:

  • Наилази се на нулл знак који се затим претвара и чува.
  • Пронађен је вцхар_т који не одговара важећем знаку у тренутној локалитету Ц.
  • претворен је максималан број широких знакова.

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

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

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

  • Ако је конверзија успела, вцстомбс () враћа број вишбајтних знакова, искључујући завршни знак (тј. ' 0') који је уписан у одредишни низ.
  • Ако се током конверзије догоди нека грешка, она враћа -1.

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

 #include #include using namespace std; int main() ( wchar_t src() = L"Welcome To Programiz.com"; char dest(50); int num; num = wcstombs(dest, src, 50); cout << "Number of wide character converted = " << num << endl; cout << "Multibyte Character String = " << dest << endl; return 0; )

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

 Број конвертованих широких знакова = 24 Вишебајтни низ знакова = Добродошли на Програмиз.цом

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