Provided by: manpages-ru-dev_4.27.0-1_all bug

НАИМЕНОВАНИЕ

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

БИБЛИОТЕКА

       Стандартная библиотека языка C (libc, -lc)

ОБЗОР

       #include <wchar.h>

       size_t mbrlen(const char s[restrict .n], size_t n,
                     mbstate_t *restrict ps);

ОПИСАНИЕ

       Функция  mbrlen()  просматривает  не  более  n  байт в многобайтовой строке, начинающейся с s и извлекает
       следующий полный многобайтовый символ. Она изменяет состояние сдвига *ps. Если  многобайтовый  символ  не
       является  широким  символом  null,  то  возвращается  количество  байт, которые использовались из s. Если
       многобайтовый символ является широким символом null, состояние сдвига  *ps  сбрасывается  в  начальное  и
       возвращается 0.

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

       Если  многобайтовая  строка,  начинающаяся с s, содержит некорректную многобайтовую последовательность до
       следующего полного символа, то mbrlen() возвращает (size_t) -1 и присваивает  errno  значение  EILSEQ.  В
       этом случае влияние на *ps не определено.

       Если ps равно NULL, то используется статическое анонимное состояние, известное только функции mbrlen().

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       Функция   mbrlen()   возвращает   количество  байт,  просмотренных  в  многобайтовой  последовательности,
       начинающейся с s, если при этом был получен широкий символ не равный null. Она  возвращает  0,  если  был
       получен  широкий  символ  null.  Она  возвращает  (size_t) -1  и  присваивает errno значение EILSEQ, если
       встречена некорректная многобайтовая последовательность. Она  возвращает  (size_t) -2,  если  не  удалось
       найти полную многобайтовую последовательность, что означает, что n должно быть увеличено.

АТРИБУТЫ

       Описание терминов данного раздела смотрите в attributes(7).
       ┌────────────────────────────────────────────────────┬──────────────────────┬───────────────────────────┐
       │ ИнтерфейсАтрибутЗначение                  │
       ├────────────────────────────────────────────────────┼──────────────────────┼───────────────────────────┤
       │ mbrlen()                                           │ Безвредность в нитях │ MT-Unsafe race:mbrlen/!ps │
       └────────────────────────────────────────────────────┴──────────────────────┴───────────────────────────┘

СТАНДАРТЫ

       C11, POSIX.1-2008.

ИСТОРИЯ

       POSIX.1-2001, C99.

ПРИМЕЧАНИЯ

       Поведение mbrlen() зависит от категории LC_CTYPE текущей локали.

СМОТРИТЕ ТАКЖЕ

       mbrtowc(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 или
       более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

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

Справочные страницы Linux 6.9.1                   2 мая 2024 г.                                        mbrlen(3)