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