Прототип функции mbtowc:
int mbtowc( wchar_t * ptrwc, const char * ptrmb, size_t max );
Заголовочный файл
Название | Язык |
---|---|
stdlib.h | С |
cstdlib | С++ |
Описание
Преобразование много-байтовых символов в широкие символы. wchar_t
— эквивалент много-байтовых символов, на которые указывает указатель ptrmb
. много-байтовые символы преобразуются в wchar_t
и сохраняются в области памяти, на которую указывает ptrwc
. В конце, функция mbtowc
возвращает длину в байтах строки с много-байтовыми символами, на которую указывает указатель ptrmb
.
mbtowc
имеет свои собственные внутренние состояния, которые изменяются по мере необходимости при вызове этой функции.
Параметры:
- ptrwc
Указатель на объект типаwchar_t
. Этот аргумент может быть нулевым указателем, в этом случае функция не охраняет много-байтовые символы в строке типаwchar_t
, но все равно, возвращает длину строки с много-байтовыми символами в байтах. - ptrmb
Указатель на первый байт строки с много-байтовыми символами. Этот аргумент может быть нулевым указателем, в этом случае функция сбрасывает внутреннее состояние перехода к начальному значению и возвращает возвращает ненулевое значение, если кодировка многобайтовых символов является платформо-зависимой, и — ноль, в других случаях. - max
Максимальное количество байтов отводимое под один символ. Это значение не должно превышать значение макросаMB_CUR_MAX
, в любом случае.
Возвращаемое значение
Если передаваемый аргумент через указатель ptrmb
и не является нулевым указателем, функция wctomb
возвращает размер много-байтового символа в байтах, на которую указывает указатель pmb, причём pmb должен указывать на реальный много-байтовый символ и не должен указывать на пустой символ завершения строки. Если много-байтовый символ — символа конца строки, функция возвращает нуль, а в случае, если символ не является много-байтовым символом, возвращается значение -1.
Если передаваемый аргумент через указатель ptrmb
является нулевым указателем, то функция возвращает ненулевое значение, если кодировка много-байтовых символов является платформо-зависимой, и — ноль, в других случаях.