Функція 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