C ++ wctomb () - C ++ стандартна библиотека

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

Функцията wctomb () е дефинирана в заглавния файл.

прототип на wctomb ()

 int wctomb (char * pmb, wchar_t wc);

Функцията wctomb () взема два аргумента и връща цяла стойност. Тази функция преобразува широкия символ, представен от wc, в многобайтния му еквивалент и се съхранява на мястото на паметта, посочено от pmb. Максималният брой знаци, които могат да се съхраняват, е MB_CUR_MAX .

Ако wc е нулевият символ, нулевият байт се записва в pmb.

Ако pmb е нулев указател, извикването на wctomb () ще нулира състоянието на глобалното преобразуване и ще определи дали се използват последователности на смени.

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

  • pmb: указател към получения многобайтов знак
  • wc: Широк символ, който се преобразува в многобайт

wctomb () Върната стойност

Ако pmb не е нулев указател, wctomb () връща:

  • броя на байтовете, които се съдържат в многобайтовото представяне на wc.
  • -1, ако wc не е валиден знак.

Ако pmb е нулев указател, нулира вътрешното си състояние на преобразуване, за да представи първоначалното състояние на изместване и връща:

  • 0, ако текущото многобайтово кодиране не зависи от състоянието (не използва последователности на смяна)
  • ненулева стойност, ако текущото многобайтово кодиране зависи от състоянието (използва последователности на смяна).

Пример: Как работи функцията wctomb ()?

 #include #include using namespace std; int main() ( wchar_t wc = L'x'; char *pmb1 = (char*)malloc(sizeof(char)); char *pmb2 = NULL; int ret_val; cout << "When pmb is not null" << endl; ret_val = wctomb(pmb1, wc); cout << "Return Value = " << ret_val << endl; wcout << "Multibyte Character: " << pmb1 << endl << endl; cout << "When pmb is null" << endl; ret_val = wctomb(pmb2, wc); cout << "Return Value = " << ret_val << endl; wcout << "Multibyte Character: " << pmb2; return(0); )

Когато стартирате програмата, възможният изход ще бъде:

 Когато pmb не е null Върната стойност = 1 многобайтов символ: x↨R Когато pmb е null Върната стойност = 0 Multibyte символ:

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