Преобразовать строку широких символов в строку многобайтовых символов (с возможностью перезапуска)
#include <wchar.h>size_t wcsrtombs( char *dst,const wchar_t **src,size_t len,mbstate_t *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 системной библиотеки