Функція mbstowcs () в C ++ перетворює багатобайтовий рядок символів у еквівалентну широку послідовність символів.
Функція mbstowcs () визначена у файлі заголовка.
прототип mbstowcs ()
size_t mbstowcs (wchar_t * dest, const char * src, size_t max);
Функція mbstowcs () приймає три аргументи і повертає ціле значення.
Ця функція перетворює багатобайтовий рядок символів, перший елемент якого вказує src, на його широкий символ (значення типу wchar_t).
Результат зберігається в місці пам'яті, вказаному dest. Параметр max представляє максимальну кількість багатобайтових символів, які потрібно перетворити.
Механізм перетворення такий самий, як і у mbtowc (), за винятком того, що стан перетворення mbtowc не впливає. Перетворення зупиняється, якщо:
- Зустрічається нульовий символ, який потім перетворюється та зберігається.
 - Виявлено недійсний багатобайтовий символ.
 - перетворено максимальну кількість багатобайтових символів.
 
Параметри mbstowcs ()
- dest: Вказівник на отриманий широкий масив символів.
 - src: вказівник на перший елемент багатобайтового символу, який перетворюється на широкий символ.
 - max: Максимальна кількість багатобайтових символів для перетворення.
 
mbstowcs () Повернене значення
- Якщо перетворення було успішним, mbstowcs () повертає кількість широких символів, за винятком символу закінчення (тобто ' 0'), записаного в цільовий масив.
 - Якщо під час перетворення виникає помилка, вона повертає -1.
 
Приклад: Як працює функція mbstowcs ()?
 #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 Широкий рядок символів = ─








