.\" -*- 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 mbtowc 3 "31 октября 2023 г." "Linux man\-pages 6.06" .SH ИМЯ mbtowc \- преобразовывает мультибайтовую последовательность в широкий символ .SH LIBRARY Standard C library (\fIlibc\fP, \fI\-lc\fP) .SH СИНТАКСИС .nf \fB#include \fP .P \fBint mbtowc(wchar_t *restrict \fP\fIpwc\fP\fB, const char \fP\fIs\fP\fB[restrict .\fP\fIn\fP\fB], size_t \fP\fIn\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 \fIn\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]\e0\[aq]), it returns the number of bytes that were consumed from \fIs\fP, otherwise it returns 0. .P Если в \fIn\fP байтах, начиная с \fIs\fP, не содержится полного многобайтового символа или если в них содержится некорректный многобайтовый символ, то \fBmbtowc\fP() возвращает \-1. Это может произойти даже если \fIn\fP >= \fIMB_CUR_MAX\fP, если в многобайтовой строке содержится лишние сдвиговые последовательности. .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. И третий вариант, когда \fIs\fP равно NULL. В этом случае \fIpwc\fP и \fIn\fP игнорируются. Функция \fBmbtowc\fP() сбрасывает состояние сдвига, известное только ей, в начальное состояние и возвращает не ноль, если кодировка имеет непростое состояние сдвига, или ноль, если кодировка не имеет состояний. .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 Этот перевод является бесплатной документацией; прочитайте .UR https://www.gnu.org/licenses/gpl-3.0.html Стандартную общественную лицензию GNU версии 3 .UE или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. .PP Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на .MT man-pages-ru-talks@lists.sourceforge.net .ME .