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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 #include #include using namespace std; int main() ( char src() = "xc4xe3xbaxc3"; wchar_t dest(10); int num; num = mbstowcs(dest, src, MB_CUR_MAX); cout << "Number of wide character converted = " << num << endl; wcout << "Wide Character String = " << dest << endl; return 0; )

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

 Број конвертованих широких знакова = 1 Широки низ знакова = ─

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