mbsrtowcs()

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

Прототип:

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

Аргументы:

dst
A pointer to a buffer where the function can store the wide-character string.
src
The string of multibyte characters that you want to convert.
n
The maximum number of wide characters to store in the buffer that dst points to.
ps
An internal pointer that lets mbsrtowcs() be a restartable version of mbstowcs(); if ps is NULL, mbsrtowcs() uses its own internal variable. You can call mbsinit() to determine the status of this variable.

Библиотека:

libc

Описание:

The mbsrtowcs() function converts a string of multibyte characters pointed to by src into the corresponding wide characters pointed to by dst, to a maximum of n wide characters, including the terminating NULL character.

The function converts each character as if by a call to mbtowc() and stops early if:

This function is affected by LC_TYPE.

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

(size_t)-1
Возникла ошибка. Ошибочный код многобайтового символа.
x
Успешное завершение; the number of total characters successfully converted, not including the terminating NULL character.

Коды ошибок:

EILSEQ
Invalid character sequence.
EINVAL
The ps argument points to an invalid object.

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

ANSI, POSIX 1003.1

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

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

errno mblen(), mbrlen(), mbrtowc(), mbsinit(), mbstowcs(), mbtowc()




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