mblen(3)

НАИМЕНОВАНИЕ
mblen - вычисляет количество байтов в следующем многобайтовом символе

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

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

int mblen(const char s[.n], size_t n);

ОПИСАНИЕ
Если s не равно NULL, то функция mblen() просматривает не более n байт в многобайтовой строке, начинающейся с s и извлекает следующий полный многобайтовый символ. Изменяется анонимное состояние сдвига, известное только функции mblen(). Если многобайтовый символ не является широким символом null, то возвращается количество байт, которые использовались из s. Если многобайтовый символ является широким символом null, то возвращается 0.

Если в n байтах, начиная с s, не содержится полного многобайтового символа, то mblen() возвращает -1. Это может произойти даже, если n больше или равно MB_CUR_MAX, если в многобайтовой строке содержится лишние сдвиговые последовательности.

Если многобайтовая строка, начинающаяся с s, содержит некорректную многобайтовую последовательность до следующего полного символа, то mblen() также возвращает -1.

Если значение s равно NULL, то функция mblen() обнуляет состояние сдвига (известное только этой функции), переводя его начальное положение, и возвращает ненулевое значение, если кодировка имеет необычное состояние сдвига; ноль будет возвращён, если кодировка не имеет сдвига.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Функция mblen() возвращает количество байт, просмотренных в многобайтовой последовательности, начинающейся с s, если при этом был распознан широкий символ не равный null. Она возвращает 0, если был получен широкий символ null. Она возвращает -1, если встречена некорректная многобайтовая последовательность или если невозможно найти полный многобайтовый символ.

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

ВЕРСИИ
Функция mbrlen(3) предоставляет лучший интерфейс с теми же возможностями.

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

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

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

СМОТРИТЕ ТАКЖЕ
mbrlen(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> и Kirill Rekhov <krekhov.dev@gmail.com>

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

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