Функција вцстомбс () у Ц ++ претвара широки низ знакова у еквивалентну вишебајтну секвенцу.
Функција вцстомбс () је дефинисана у датотеци заглавља.
прототип вцстомбс ()
сизе_т вцстомбс (цхар * дест, цонст вцхар_т * срц, сизе_т мак);
Функција вцстомбс () узима три аргумента и враћа целобројну вредност.
Ова функција претвара широки низ знакова чији је први елемент срц указан у његову мултибајтну представу.
Резултат се чува на меморијској локацији коју показује дест. Параметар мак представља максималан број широких знакова који се конвертују.
Механизам конверзије је исти као и механизам вцтомб, с тим што то не утиче на стање конверзије вцтомб. Конверзија се зауставља ако:
- Наилази се на нулл знак који се затим претвара и чува.
- Пронађен је вцхар_т који не одговара важећем знаку у тренутној локалитету Ц.
- претворен је максималан број широких знакова.
вцстомбс () Параметри
- дест: Показивач на резултирајући вишебајтни низ знакова.
- срц: Показивач на први елемент широког карактера који се претвара у вишебајтни знак.
- макс .: максималан број широких знакова који треба претворити.
вцстомбс () Повратна вредност
- Ако је конверзија успела, вцстомбс () враћа број вишбајтних знакова, искључујући завршни знак (тј. ' 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 Вишебајтни низ знакова = Добродошли на Програмиз.цом