.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (c) Bruno Haible .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\" References consulted: .\" GNU glibc-2 source code and manual .\" Dinkumware C library reference http://www.dinkumware.com/ .\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html .\" ISO/IEC 9899:1999 .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH mbrlen 3 "20 июля 2023 г." "Linux man\-pages 6.05.01" .SH ИМЯ mbrlen \- вычисляет количество байт в следующем многобайтовом символе .SH LIBRARY Standard C library (\fIlibc\fP, \fI\-lc\fP) .SH СИНТАКСИС .nf \fB#include \fP .PP \fBsize_t mbrlen(const char \fP\fIs\fP\fB[restrict .\fP\fIn\fP\fB], size_t \fP\fIn\fP\fB,\fP \fB mbstate_t *restrict \fP\fIps\fP\fB);\fP .fi .SH ОПИСАНИЕ Функция \fBmbrlen\fP() просматривает не более \fIn\fP байт в многобайтовой строке, начинающейся с \fIs\fP и извлекает следующий полный многобайтовый символ. Она изменяет состояние сдвига \fI*ps\fP. Если многобайтовый символ не является широким символом null, то возвращается количество байт, которые использовались из \fIs\fP. Если многобайтовый символ является широким символом null, состояние сдвига \fI*ps\fP сбрасывается в начальное и возвращается 0. .PP Если в \fIn\fP байтах, начиная с \fIs\fP, не содержится полного многобайтового символа, то \fBmbrlen\fP() возвращает \fI(size_t)\ \-2\fP. Это может произойти даже, если \fIn\fP >= \fIMB_CUR_MAX\fP, если в многобайтовой строке содержится лишние сдвиговые последовательности. .PP Если многобайтовая строка, начинающаяся с \fIs\fP, содержит некорректную многобайтовую последовательность до следующего полного символа, то \fBmbrlen\fP() возвращает \fI(size_t)\ \-1\fP и присваивает \fIerrno\fP значение \fBEILSEQ\fP. В этом случае влияние на \fI*ps\fP не определено. .PP Если \fIps\fP равно NULL, то используется статическое анонимное состояние, известное только функции \fBmbrlen\fP(). .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" Функция \fBmbrlen\fP() возвращает количество байт, просмотренных в многобайтовой последовательности, начинающейся с \fIs\fP, если при этом был получен широкий символ не равный null. Она возвращает 0, если был получен широкий символ null. Она возвращает \fI(size_t)\ \-1\fP и присваивает \fIerrno\fP значение \fBEILSEQ\fP, если встречена некорректная многобайтовая последовательность. Она возвращает \fI(size_t)\ \-2\fP, если не удалось найти полную многобайтовую последовательность, что означает, что \fIn\fP должно быть увеличено. .SH АТРИБУТЫ Описание терминов данного раздела смотрите в \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Интерфейс Атрибут Значение T{ .na .nh \fBmbrlen\fP() T} Безвредность в нитях MT\-Unsafe race:mbrlen/!ps .TE .sp 1 .SH СТАНДАРТЫ C11, POSIX.1\-2008. .SH ИСТОРИЯ POSIX.1\-2001, C99. .SH ЗАМЕЧАНИЯ Поведение \fBmbrlen\fP() зависит от категории \fBLC_CTYPE\fP текущей локали. .SH "СМ. ТАКЖЕ" \fBmbrtowc\fP(3) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства был сделан aereiae , Alexey , Azamat Hackimov , Dmitriy S. Seregin , Dmitry Bolkhovskikh , ITriskTI , Max Is , Yuri Kozlov , Иван Павлов и Малянов Евгений Викторович . .PP Этот перевод является бесплатной документацией; прочитайте .UR https://www.gnu.org/licenses/gpl-3.0.html Стандартную общественную лицензию GNU версии 3 .UE или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. .PP Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на .MT man-pages-ru-talks@lists.sourceforge.net .ME .