Прототип функции 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 является нулевым указателем, то функция возвращает ненулевое значение, если кодировка много-байтовых символов является платформо-зависимой, и — ноль, в других случаях.