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 @

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