wcsrtombs()

Преобразовать строку широких символов в строку многобайтовых символов (с возможностью перезапуска)

Прототип:

#include <wchar.h>
size_t wcsrtombs( char *dst,
const wchar_t **src,
size_t len,
mbstate_t *ps );

Аргументы:

dst
Указатель на область памяти, где функция может сохранить многобайтовую строку.
src
Указатель на строку, состоящую из широких символов.
len
Максимальное количество многобайтовых символов, которое необходимо сохранить.
ps
Указатель, который позволяет wcsrtombs() быть перезапускаемой версией wcstombs(); если ps равен NULL, wcsrtombs() использует свою собственную внутреннюю переменную. Для определения статуса этой переменной необходимо вызвать mbsinit().

Библиотека:

libc

Описание:

Функция wcsrtombs() преобразует строку из широких символов, указанную в аргументе src, в соответствующую многобайтовую строку, указанную в dst. Сохраняется не больше байт, чем указано в переменной len, включая завершающий символ NULL.

Функция преобразует каждый символ аналогично функции wctomb(), но останавливает работу раньше если:

Функция wcsrtombs() использует ps для создания безопасного потока, если ps равен NULL, wcsrtombs() использует собственный внутренний указатель.

Возвращаемое значение:

Количество успешно сконвертированных байт, не включая завершающий NULL, или (size_t)-1, если встретился недопустимый код широкого символа.

Классификация:

ANSI, POSIX 1003.1

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

wcrtomb(), wcstod(), wcstof(), wcstold(), wcstoimax(), wcstoumax(), wcstok(), wcstol(), wcstoll(), wcstombs(), wcstoul(), wcstoull(), wctob(), wctomb()




Предыдущий раздел: Описание API системной библиотеки