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

Цікаві статті...