#include <stdlib.h> size_t mbstowcs(wchar_t *dest, const char *src, size_t n);
1. Была встречена неправильная многобайтовая последовательность. В этом случае возвращается (size_t)(-1).
2. Было сохранено n "непустых" широких символов в dest. В этом случае возвращается количество широких символов, записанных в dest, но при этом теряется статус смещения на это место.
3. Многобайтовая строка была полностью преобразована, включая завершающий '\0'. В этом случае возвращается количество широких символов, записанных в dest, за исключением завершающего символа L'\0'.
Программист должен убедиться, что в dest существует достаточно места для размещения хотя бы n широких символов.
Если dest равно NULL, то n игнорируется и преобразование продолжается по схеме, описанной выше, за исключением того, что преобразованные широкие символы не записываются в память и что при записи не существует ограничений длины строки.
Во избежание второго случая, описанного выше, программист должен убедиться, что n больше mbstowcs(NULL,src,0)+1 или равно ему.
Функция mbsrtowcs обеспечивает пользователя более удобным интерфейсом при тех же функциональных возможностях.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |