Функцията wcstombs () в C ++ преобразува широк символен низ в еквивалентна многобайтова последователност.
Функцията wcstombs () е дефинирана в заглавния файл.
прототип на wcstombs ()
size_t wcstombs (char * dest, const wchar_t * src, size_t max);
Функцията wcstombs () взема три аргумента и връща цяла стойност.
Тази функция преобразува широкия символен низ, чийто първи елемент е посочен от src, в неговото многобайтово представяне.
Резултатът се съхранява на мястото на паметта, посочено от dest. Параметърът max представлява максималния брой широки символи, които трябва да бъдат преобразувани.
Механизмът за преобразуване е същият като този на wctomb, с изключение на това, че състоянието на преобразуване на wctomb не е засегнато. Преобразуването спира, ако:
- Среща се нулев знак, който след това се преобразува и съхранява.
- Беше намерен wchar_t, който не съответства на валиден символ в текущия локал на C.
- конвертиран е максимален брой широки символи.
wcstombs () Параметри
- dest: Посока към получения масив от многобайтови знаци.
- src: Указател към първия елемент от широкия символ, който се преобразува в многобайт.
- max: Максимален брой широки символи, които трябва да бъдат преобразувани.
wcstombs () Върната стойност
- Ако преобразуването е успешно, wcstombs () връща броя на многобайтовите символи, с изключение на завършващия символ (т.е. ' 0'), който е записан в целевия масив.
- Ако по време на преобразуването възникне грешка, тя връща -1.
Пример: Как работи функцията wcstombs ()?
#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 Многобайтови символни низа = Добре дошли в Programiz.com