.\" -*- 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 wcrtomb 3 "20 июля 2023 г." "Linux man\-pages 6.05.01" .SH ИМЯ wcrtomb \- преобразование широкого символа в многобайтовую последовательность .SH LIBRARY Standard C library (\fIlibc\fP, \fI\-lc\fP) .SH СИНТАКСИС .nf \fB#include \fP .PP \fBsize_t wcrtomb(char *restrict \fP\fIs\fP\fB, wchar_t \fP\fIwc\fP\fB, mbstate_t *restrict \fP\fIps\fP\fB);\fP .fi .SH ОПИСАНИЕ The main case for this function is when \fIs\fP is not NULL and \fIwc\fP is not a null wide character (L\[aq]\e0\[aq]). In this case, the \fBwcrtomb\fP() function converts the wide character \fIwc\fP to its multibyte representation and stores it at the beginning of the character array pointed to by \fIs\fP. It updates the shift state \fI*ps\fP, and returns the length of said multibyte representation, that is, the number of bytes written at \fIs\fP. .PP A different case is when \fIs\fP is not NULL, but \fIwc\fP is a null wide character (L\[aq]\e0\[aq]). In this case, the \fBwcrtomb\fP() function stores at the character array pointed to by \fIs\fP the shift sequence needed to bring \fI*ps\fP back to the initial state, followed by a \[aq]\e0\[aq] byte. It updates the shift state \fI*ps\fP (i.e., brings it into the initial state), and returns the length of the shift sequence plus one, that is, the number of bytes written at \fIs\fP. .PP Третий\ случай — это когда \fIs\fP равно NULL. Тогда \fIwc\fP игнорируется, а функция возвращает .PP .in +4n .EX wcrtomb(buf, L\[aq]\e0\[aq], ps) .EE .in .PP где \fIbuf\fP — внутренний анонимный буфер. .PP Во всех вышеперечисленных случаях, если \fIps\fP равно NULL, то используется статическое анонимное состояние, известное только функции \fBwcrtomb\fP(). .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" Функция \fBwcrtomb\fP() возвращает количество байтов, которые уже записаны или должны быть записаны в массив, на который указывает \fIs\fP. Если значение \fIwc\fP не может быть представлено как многобайтовая последовательность (в соответствии с текущей локалью), то возвращается \fI(size_t)\ \-1\fP, а \fIerrno\fP присваивается значение \fBEILSEQ\fP. .SH АТРИБУТЫ Описание терминов данного раздела смотрите в \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Интерфейс Атрибут Значение T{ .na .nh \fBwcrtomb\fP() T} Безвредность в нитях MT\-Unsafe race:wcrtomb/!ps .TE .sp 1 .SH СТАНДАРТЫ C11, POSIX.1\-2008. .SH ИСТОРИЯ POSIX.1\-2001, C99. .SH ЗАМЕЧАНИЯ Поведение \fBwcrtomb\fP() зависит от категории \fBLC_CTYPE\fP текущей локали. .PP Передавать NULL в качестве \fIps\fP небезопасно при работе с нитями. .SH "СМ. ТАКЖЕ" \fBmbsinit\fP(3), \fBwcsrtombs\fP(3) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства был сделан Azamat Hackimov и 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 .