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

ИМЯ
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)