C ++ mbtowc () - Стандартна бібліотека C ++

Функція mbtowc () в C ++ перетворює багатобайтовий символ у широкий.

Функція mbtwoc () визначена у файлі заголовка.

прототип mbtowc ()

 int mbtowc (wchar_t * pwc, const char * pmb, size_t max);

Функція mbtowc () приймає три аргументи і повертає ціле значення. Ця функція перетворює багатобайтовий символ, вказаний pmb, у широкий символ (значення типу wchar_t) і зберігається в місці пам'яті, вказаному pwc.

Якщо pmb є нульовим покажчиком, виклик mbtowc () скине загальний стан перетворення та визначить, чи використовуються послідовності зсуву.

Параметри mbtowc ()

  • pwc: вказівник на отриманий широкий символ
  • pmb: вказівник на багатобайтовий символ, який перетворюється на широкий символ
  • max: Максимальний розмір у байтах pmb, який слід враховувати для багатобайтового символу.

mbtowc () Повернене значення

Якщо pmb не є нульовим покажчиком, mbtowc () повертає:

  • кількість байт, що містяться в багатобайтовому символі, вказаному pmb.
  • -1, якщо перший байт, вказаний pmb, не утворює допустимого багатобайтового символу.
  • 0, якщо pmb вказує на закінчувальний нульовий символ, тобто ' 0'.

Якщо pmb є нульовим покажчиком, скидає свій внутрішній стан перетворення, щоб представляти початковий стан зсуву, і повертає:

  • 0, якщо поточне багатобайтове кодування не залежить від стану (не використовує послідовності зсуву)
  • ненульове значення, якщо поточне багатобайтове кодування залежить від стану (використовує послідовності зсувів).

Приклад: Як працює функція mbtowc ()?

 #include #include #include using namespace std; int main() ( char pmb() = "Welcome to Programiz.com"; wchar_t pwc(100); int len, ret_val; /* resets internal conversion state */ mbtowc (NULL, NULL, 0); len = strlen(pmb); ret_val = mbtowc(pwc, pmb, strlen(pmb)); cout << "Return Value = " << ret_val << endl; wcout << "Wide character string: " << pwc; return(0); )

Після запуску програми можливим результатом буде:

 Повернене значення = 1 Широкий рядок символів: W @

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