.\" -*- coding: UTF-8 -*- '\" t .\" Copyright, Bruno Haible .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH mbtowc 3 "8 февраля 2026 г." "Linux man\-pages 6.18" .SH НАИМЕНОВАНИЕ mbtowc \- преобразовывает мультибайтовую последовательность в широкий символ .SH БИБЛИОТЕКА Стандартная библиотека языка C (\fIlibc\fP,\ \fI\-lc\fP) .SH СИНТАКСИС .nf \fB#include \fP .P \fBint mbtowc(\fPsize_t size; \fB wchar_t *restrict \fP\fIpwc\fP\fB, const char \fP\fIs\fP\fB[restrict \fP\fIsize\fP\fB],\fP \fB size_t \fP\fIsize\fP\fB);\fP .fi .SH ОПИСАНИЕ The main case for this function is when \fIs\fP is not NULL and \fIpwc\fP is not NULL. In this case, the \fBmbtowc\fP() function inspects at most \fIsize\fP bytes of the multibyte string starting at \fIs\fP, extracts the next complete multibyte character, converts it to a wide character and stores it at \fI*pwc\fP. It updates an internal shift state known only to the \fBmbtowc\fP() function. If \fIs\fP does not point to a null byte (\[aq]\[rs]0\[aq]), it returns the number of bytes that were consumed from \fIs\fP, otherwise it returns 0. .P If the \fIsize\fP bytes starting at \fIs\fP do not contain a complete multibyte character, or if they contain an invalid multibyte sequence, \fBmbtowc\fP() returns \-1. This can happen even if \fIsize\fP >= \fIMB_CUR_MAX\fP, if the multibyte string contains redundant shift sequences. .P Ещё случай, когда \fIs\fP не равно NULL, а \fIpwc\fP равно NULL. В этом случае функция \fBmbtowc\fP() действует как описано выше, но не сохраняет преобразованный широкий символ в памяти. .P .\" The Dinkumware doc and the Single UNIX specification say this, but .\" glibc doesn't implement this. A third case is when \fIs\fP is NULL. In this case, \fIpwc\fP and \fIsize\fP are ignored. The \fBmbtowc\fP() 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. .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" Если \fIs\fP не равно NULL, то функция \fBmbtowc\fP() возвращает количество потраченных байт, начиная с \fIs\fP, или 0, если \fIs\fP указывает на байт null, или \-1 — при ошибке. .P Если значение \fIs\fP равно NULL, то функция \fBmbtowc\fP() возвращает не ноль, если кодировка имеет необычное смещение, или ноль, если кодировка не имеет смещения. .SH АТРИБУТЫ Описание терминов данного раздела смотрите в \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Интерфейс Атрибут Значение T{ .na .nh \fBmbtowc\fP() T} Безвредность в нитях MT\-Unsafe race .TE .SH ВЕРСИИ Данную функцию небезопасно использовать в нитях. Для этого лучше подходит функция \fBmbrtowc\fP(3) с тем же интерфейсом. .SH СТАНДАРТЫ C11, POSIX.1\-2008. .SH ИСТОРИЯ POSIX.1\-2001, C99. .SH ПРИМЕЧАНИЯ Поведение \fBmbtowc\fP() зависит от категории \fBLC_CTYPE\fP текущей локали. .SH "СМОТРИТЕ ТАКЖЕ" \fBMB_CUR_MAX\fP(3), \fBmblen\fP(3), \fBmbrtowc\fP(3), \fBmbstowcs\fP(3), \fBwcstombs\fP(3), \fBwctomb\fP(3) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства разработал(и) aereiae , Alexey , Azamat Hackimov , Dmitriy S. Seregin , Dmitry Bolkhovskikh , ITriskTI , Max Is , Yuri Kozlov , Иван Павлов и Малянов Евгений Викторович . .PP Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, .UR https://www.gnu.org/licenses/gpl-3.0.html .UE версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ. .PP Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу .MT debian-l10n-russian@lists.debian.org списка рассылки русских переводчиков .ME .