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 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

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