C ++ mbstowcs () - Стандартная библиотека C ++

Функция 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 строка широких символов = ─

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