Стандартная библиотека поддерживает различные функции, предназначенные для преобразования многобайтовых и двухбайтовых символов. Эти функции (перечисленные в табл. 19.6) используют заголовок <wchar.h>. Многие из них представляют собой версии обычных многобайтовых функций, которые могут быть прерваны (и повторно запущены — restartable). Повторно запускаемая версия используя информацию о состоянии, передаваемую ей в параметре типа mbstate_t. Если этот параметр нулевой, функция предоставит собственный объект типа mbstate_t.
Функция | Описание |
---|---|
| Преобразует параметр ch в его двухбайтовый эквивалент и возвращает результат. Значение WEOF возвращается при ошибке или если ch не однобайтовый, а многобайтовый символ |
| Повторно запускаемая версия функции mblen(), в которой информация о состоянии передается через параметр state. Возвращает положительное число, равное длине следующее многобайтового символа. Нуль возвращается в случае, если следующий символ — нулевой. При ошибке возвращается отрицательное значение. В версии С99 к параметрам str и state применен квалификатор restrict |
| Повторно запускаемая версия функции mbtowc(), в которой информация о состоянии передается через параметр state. Возвращает положительное число, равное длине следующего многобайтового символа. Нуль возвращается в случае, если следующий символ — нулевой. При ошибке возвращается значение -1 и переменной errno присваивается макрос EILSEQ. Если преобразование не завершено, возвращается число -2. В версии С99 к параметрам out, in и state применен квалификатор restrict |
| Возвращает значение true, если параметр state представляет начальное состояние процесса преобразования |
| Повторно запускаемая версия функции mbstowcs(), в которой информация о состоянии передается через параметр state. Кроме того, функция mbsrtowcs() отличается от функции mbstowcs() тем, что параметр in является косвенным указателем на исходный массив. При ошибке переменной errno присваивается макрос EILSEQ. В версии С99 к параметрам out, in и state применен квалификатор restrict |
| Повторно запускаемая версия функции wctomb(), в которой информация о состоянии передается через параметр state. При ошибке переменной errno присваивается макрос EILSEQ. В версии С99 к параметрам out и state применен квалификатор restrict |
| Повторно запускаемая версия функции wcstombs(), в которой информация о состоянии передается через параметр state. Кроме того, функция wcsrtombs() отличается от функции wcstombs() тем, что параметр in является косвенный указателем на исходный массив. При ошибке переменной errno присваивается макрос EILSEQ. В версии С99 к параметрам out, in и state применен квалификатор restrict |
| Преобразует параметр ch в его однобайтовый эквивалент. При сбое функция возвращает значение EOF |