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

ИМЯ

       mbsinit - проверяет начальное состояние сдвига

LIBRARY

       Standard C library (libc, -lc)

СИНТАКСИС

       #include <wchar.h>

       int mbsinit(const mbstate_t *ps);

ОПИСАНИЕ

       Преобразование многобайтового представления символов в представление в виде широких символов (и наоборот)
       происходит  с помощью состояния преобразования (тип mbstate_t). Преобразование строк происходит с помощью
       конечного автомата; если преобразование  прерывается  после  некоторого  количества  символов,  то  может
       потребоваться  сохранить  состояние  для  обработки  остальных  символов.  Это  состояние  преобразования
       необходимо, к примеру, для кодировок ISO-2022 и UTF-7.

       Начальное состояние  — это состояние в начале преобразования строки.  Есть  два  типа  состояния:  первое
       используется   функциями   преобразования   многобайтовых   символов  в  широкие  (mbsrtowcs(3));  второе
       используется функциями преобразования широких символов в  многобайтовые  (wcsrtombs(3)).  Для  начального
       состояния обоих типов используется тип mbstate_t.

       For 8-bit encodings, all states are equivalent to the initial state.  For multibyte encodings like UTF-8,
       EUC-*,  BIG5,  or  SJIS,  the  wide character to multibyte conversion functions never produce non-initial
       states, but the multibyte to wide-character conversion functions like mbrtowc(3)  do produce  non-initial
       states when interrupted in the middle of a character.

       Одним из способов создания mbstate_t в начальном состоянии является присвоение нулевого значения:

           mbstate_t state;
           memset(&state, 0, sizeof(state));

       В Linux также работает и следующее, но может привести к появлению предупреждения компилятора:

           mbstate_t state = { 0 };

       Функция mbsinit() проверяет *ps на соответствие начальному состоянию.

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

       Функция  mbsinit()  возвращает  ненулевое значение, если *ps находится в начальном состоянии, или если ps
       равно NULL. В противном случае возвращается 0.

АТРИБУТЫ

       Описание терминов данного раздела смотрите в attributes(7).
       ┌─────────────────────────────────────────────────────────────────────┬──────────────────────┬──────────┐
       │ ИнтерфейсАтрибутЗначение │
       ├─────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────┤
       │ mbsinit()                                                           │ Безвредность в нитях │ MT-Safe  │
       └─────────────────────────────────────────────────────────────────────┴──────────────────────┴──────────┘

СТАНДАРТЫ

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

ЗАМЕЧАНИЯ

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

СМ. ТАКЖЕ

       mbrlen(3), mbrtowc(3), mbsrtowcs(3), wcrtomb(3), wcsrtombs(3)

ПЕРЕВОД

       Русский  перевод   этой   страницы   руководства   был   сделан   aereiae   <aereiae@gmail.com>,   Alexey
       <a.chepugov@gmail.com>, Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitriy S. Seregin <dseregin@59.ru>,
       Dmitry  Bolkhovskikh  <d20052005@yandex.ru>,  ITriskTI <ITriskTI@gmail.com>, Max Is <ismax799@gmail.com>,
       Yuri  Kozlov  <yuray@komyakino.ru>,  Иван  Павлов  <pavia00@gmail.com>  и  Малянов   Евгений   Викторович
       <maljanow@outlook.com>

       Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3
       или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

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

Linux man-pages 6.03                           15 декабря 2022 г.                                     mbsinit(3)