ИМЯ

mblen - вычисляет количество байтов в следующем многобайтовом символе

LIBRARY

Standard C library ( 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
 

СТАНДАРТЫ

POSIX.1-2001, POSIX.1-2008, C99.

ЗАМЕЧАНИЯ

Поведение mblen() зависит от категории LC_CTYPE текущей локали.
Функция mbrlen(3) предоставляет лучший интерфейс с теми же возможностями.

СМ. ТАКЖЕ

mbrlen(3)

ПЕРЕВОД

Русский перевод этой страницы руководства был сделан aereiae <[email protected]>, Alexey <[email protected]>, Azamat Hackimov <[email protected]>, Dmitriy S. Seregin <[email protected]>, Dmitry Bolkhovskikh <[email protected]>, ITriskTI <[email protected]>, Max Is <[email protected]>, Yuri Kozlov <[email protected]>, Иван Павлов <[email protected]> и Малянов Евгений Викторович <[email protected]>
Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.
Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на [email protected]

Recommended readings

Pages related to mblen you should read also: