Provided by: manpages-ru-dev_4.27.0-1_all 

НАИМЕНОВАНИЕ
mbsrtowcs - convert a multibyte string to a wide-character string (restartable)
БИБЛИОТЕКА
Стандартная библиотека языка C (libc, -lc)
ОБЗОР
#include <wchar.h>
size_t mbsrtowcs(wchar_t dest[restrict .dsize],
const char **restrict src,
size_t dsize, mbstate_t *restrict ps);
ОПИСАНИЕ
If dest is not NULL, convert the multibyte string *src to a wide-character string starting at dest. At
most dsize wide characters are written to dest. The shift state *ps is updated. The conversion is
effectively performed by repeatedly calling mbrtowc(dest, *src, n, ps) where n is some positive number,
as long as this call succeeds, and then incrementing dest by one and *src by the number of bytes
consumed. The conversion can stop for three reasons:
• Во входных данных обнаружена неправильная многобайтовая последовательность. В этом случае *src
по-прежнему указывает на неправильную многобайтовую последовательность, возвращается (size_t) -1 и
errno присваивается EILSEQ.
• dsize non-L'\0' wide characters have been stored at dest. In this case, *src is left pointing to the
next multibyte sequence to be converted, and the number of wide characters written to dest is
returned.
• The multibyte string has been completely converted, including the terminating null wide character
('\0'), which has the side effect of bringing back *ps to the initial state. In this case, *src is
set to NULL, and the number of wide characters written to dest, excluding the terminating null wide
character, is returned.
Если dest равно NULL, dsize игнорируется, и преобразование продолжается, как описано выше, за исключением
того, что преобразованные широкие символы не записываются в память, и что ограничений по длине не
существует.
В обоих перечисленных случаях, если ps равно NULL, то используется статическое анонимное состояние,
известное только функции mbsrtowcs().
In order to avoid the case 2 above, the programmer should make sure dsize is greater than or equal to
mbsrtowcs(NULL,src,0,ps)+1.
Программист должен убедиться, что в dest есть место для символов шириной не менее dsize.
This function is a restartable version of mbstowcs(3).
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
The number of wide characters that make up the converted part of the wide-character string, not including
the terminating null wide character. If an invalid multibyte sequence was encountered, (size_t) -1 is
returned, and errno set to EILSEQ.
АТРИБУТЫ
Описание терминов данного раздела смотрите в attributes(7).
┌─────────────┬──────────────────────┬──────────────────────────────────────────────────────────────────┐
│ Интерфейс │ Атрибут │ Значение │
├─────────────┼──────────────────────┼──────────────────────────────────────────────────────────────────┤
│ mbsrtowcs() │ Безвредность в нитях │ MT-Unsafe race:mbsrtowcs/!ps │
└─────────────┴──────────────────────┴──────────────────────────────────────────────────────────────────┘
СТАНДАРТЫ
C11, POSIX.1-2008.
ИСТОРИЯ
POSIX.1-2001, C99.
ПРИМЕЧАНИЯ
Поведение mbsrtowcs() зависит от категории LC_CTYPE текущей локали.
Передавать NULL в качестве ps небезопасно при работе с нитями.
СМОТРИТЕ ТАКЖЕ
iconv(3), mbrtowc(3), mbsinit(3), mbsnrtowcs(3), mbstowcs(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> и Kirill Rekhov <krekhov.dev@gmail.com>
Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной
лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или
более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.
Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом
разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских
переводчиков.
Справочные страницы Linux 6.9.1 15 июня 2024 г. mbsrtowcs(3)