#include <stdlib.h> int mbtowc(wchar_t *pwc, const char *s, size_t n);
Если в число n байтов, начиная с s, не входит полный многобайтовый символ или если оно содержит неправильную многобайтовую последовательность, то mbtowc возвращает -1. Такое может случиться даже при n >= MB_CUR_MAX, если многобайтовая строка содержит лишние последовательности смещения.
Есть и другой случай, когда s не равно NULL, но pwc равно NULL. Тогда функция mbtowc выполняется так, как описано выше, за исключением того, что она не сохраняет преобразованные широкие символы в памяти.
Третий случай, когда s равно NULL. Тогда pwc и n игнорируются. Функция mbtowc возвращает исходный статус смещения, известный только этой функции, также возвращается ненулевое значение, если кодировка имеет необычный статус смещения. Функция возвращает ноль, если кодировка не имеет статуса.
Если s равно NULL, то функция mbtowc возвращает ненулевое значение (при том, что кодировка имеет необычный статус смещения), и возвращает ноль, если кодировка не имеет статуса.
Работа этой функции в нескольких подпроцессах небезопасна. Функция mbrtowc предоставляет Вам более удобный интерфейс при тех же функциональных возможностях.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |