mbtowc(3)

НАИМЕНОВАНИЕ
mbtowc - преобразовывает мультибайтовую последовательность в широкий символ

БИБЛИОТЕКА
Стандартная библиотека языка C (libc, -lc)

ОБЗОР
#include <stdlib.h>

int mbtowc(size_t size;
           wchar_t *restrict pwc, const char s[restrict size],
           size_t size);

ОПИСАНИЕ
The main case for this function is when s is not NULL and pwc is not NULL. In this case, the mbtowc() function inspects at most size bytes of the multibyte string starting at s, extracts the next complete multibyte character, converts it to a wide character and stores it at *pwc. It updates an internal shift state known only to the mbtowc() function. If s does not point to a null byte ('\0'), it returns the number of bytes that were consumed from s, otherwise it returns 0.

If the size bytes starting at s do not contain a complete multibyte character, or if they contain an invalid multibyte sequence, mbtowc() returns -1. This can happen even if size >= MB_CUR_MAX, if the multibyte string contains redundant shift sequences.

Ещё случай, когда s не равно NULL, а pwc равно NULL. В этом случае функция mbtowc() действует как описано выше, но не сохраняет преобразованный широкий символ в памяти.

A third case is when s is NULL. In this case, pwc and size are ignored. The mbtowc() function resets the shift state, only known to this function, to the initial state, and returns nonzero if the encoding has nontrivial shift state, or zero if the encoding is stateless.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Если s не равно NULL, то функция mbtowc() возвращает количество потраченных байт, начиная с s, или 0, если s указывает на байт null, или -1 — при ошибке.

Если значение s равно NULL, то функция mbtowc() возвращает не ноль, если кодировка имеет необычное смещение, или ноль, если кодировка не имеет смещения.

АТРИБУТЫ
Описание терминов данного раздела смотрите в attributes(7).
Интерфейс | Атрибут | Значение
mbtowc() | Безвредность в нитях | MT-Unsafe race

ВЕРСИИ
Данную функцию небезопасно использовать в нитях. Для этого лучше подходит функция mbrtowc(3) с тем же интерфейсом.

СТАНДАРТЫ
C11, POSIX.1-2008.

ИСТОРИЯ
POSIX.1-2001, C99.

ПРИМЕЧАНИЯ
Поведение mbtowc() зависит от категории LC_CTYPE текущей локали.

СМОТРИТЕ ТАКЖЕ
MB_CUR_MAX(3), mblen(3), mbrtowc(3), mbstowcs(3), wcstombs(3), wctomb(3)

ПЕРЕВОД
Русский перевод этой страницы руководства разработал(и) aereiae <aereiae@gmail.com>, Alexey <a.chepugov@gmail.com>, Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitriy S. Seregin <dseregin@59.ru>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, ITriskTI <ITriskTI@gmail.com>, Max Is <ismax799@gmail.com>, Yuri Kozlov <yuray@komyakino.ru>, Иван Павлов <pavia00@gmail.com> и Малянов Евгений Викторович <maljanow@outlook.com>

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков (<debian-l10n-russian@lists.debian.org>).