Provided by: manpages-ru-dev_4.21.0-2_all bug

ИМЯ

       wcstombs - преобразует широкосимвольную строку в многобайтовую строку

LIBRARY

       Standard C library (libc, -lc)

СИНТАКСИС

       #include <stdlib.h>

       size_t wcstombs(char dest[restrict .n], const wchar_t *restrict src,
                       size_t n);

ОПИСАНИЕ

       Если  значение  dest  не  равно  NULL,  то функция wcstombs() преобразует широкосимвольную
       строку src в многобайтовую строку, начинающуюся с dest. В dest будет записано не  более  n
       байт.   Последовательность  символов,  помещённая  в  dest,  начинается  с  первоначальным
       состоянием сдвига. Преобразование может прекратиться по трём причинам:

       •  Встретившийся широкий символ нельзя представить в виде многобайтовой последовательности
          (в соответствии с текущей системной локалью). В этом случае возвращается (size_t) -1.

       •  Достигнут  предел  по длине. В этом случае возвращается количество байтов, записанных в
          dest, но состояние текущего смещения в строке теряется.

       •  The wide-character string has been completely converted, including the terminating null
          wide  character (L'\0').  In this case, the conversion ends in the initial shift state.
          The number of bytes written to dest, excluding the terminating  null  byte  ('\0'),  is
          returned.

       Программист должен быть уверен, что в dest достаточно места для, по крайней мере, n байт.

       Если  значение dest равно NULL, то n игнорируется и преобразование выполняется как описано
       выше, исключая то, что преобразованные байты не записываются в память и нет ограничения по
       длине.

       Для  того,  чтобы  избежать  ограничения  пункта 2, программист должен удостовериться, что
       значение n больше или равно wcstombs(NULL,src,0)+1.

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

       Функция   wcstombs()   возвращает   количество    байт    в    полученной    многобайтовой
       последовательности,  не  включая  завершающий  байт null. Если встречается широкий символ,
       который невозможно преобразовать, возвращается (size_t) -1.

АТРИБУТЫ

       Описание терминов данного раздела смотрите в attributes(7).

       ┌───────────────────────────────────────────────────────┬──────────────────────┬──────────┐
       │ИнтерфейсАтрибутЗначение │
       ├───────────────────────────────────────────────────────┼──────────────────────┼──────────┤
       │wcstombs()                                             │ Безвредность в нитях │ MT-Safe  │
       └───────────────────────────────────────────────────────┴──────────────────────┴──────────┘

СТАНДАРТЫ

       POSIX.1-2001, POSIX.1-2008, C99.

ЗАМЕЧАНИЯ

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

       Функция wcsrtombs(3) предоставляет лучший интерфейс с теми же возможностями.

СМ. ТАКЖЕ

       mblen(3), mbstowcs(3), mbtowc(3), wcsrtombs(3), wctomb(3)

ПЕРЕВОД

       Русский   перевод   этой    страницы    руководства    был    сделан    Azamat    Hackimov
       <azamat.hackimov@gmail.com> и Yuri Kozlov <yuray@komyakino.ru>

       Этот  перевод  является  бесплатной  документацией;  прочитайте  Стандартную  общественную
       лицензию GNU версии 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если  вы  обнаружите  ошибки  в  переводе этой страницы руководства, пожалуйста, отправьте
       электронное письмо на ⟨man-pages-ru-talks@lists.sourceforge.net⟩.