C ++ wcstombs () - C ++ стандартна библиотека

Функцията 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

Интересни статии...