Функција ц16ртомб () у Ц ++ претвара 16-битну представу знакова у уску представу вишебајтних знакова.
Функција ц16ртомб () је дефинисана у датотеци заглавља.
ц16ртомб () Прототип
сизе_т ц16ртомб (цхар * с, цхар16_т ц16, мбстате_т * пс);
Функција ц16ртомб () претвара утф-16 знак ц16 у његов мултибајтни еквивалент и чува га у објекту на који указује с.
Ако с представља нулл показивач, позив је еквивалентан ц16ртомб (буф, у ' 0', пс) за неки интерни буффер буфф.
Ако је ц16 нула широк знак, тј. У ' 0', чува се нулти бајт.
ц16ртомб () Параметри
- с: Показивач на низ знакова у коме треба да се чува вишебајтни знак.
- ц16: 16-битни знак који треба претворити.
- пс: Показивач на мбстате_т објекат који се користи приликом тумачења вишебајтног низа.
ц16ртомб () Повратна вредност
- У успеху, функција ц16ртомб () враћа број бајтова записаних у низ знакова на који показује с.
- У случају неуспеха, враћа се -1 и ЕИЛСЕК се чува у грешци .
Пример: Како функционише функција ц16ртомб ()?
#include #include using namespace std; int main() ( const char16_t str() = u"Hello World!"; char s(50); mbstate_t ps(); size_t length; int j = 0; while (str(j)) ( length = c16rtomb(s, str(j), &ps); if ((length == 0) || (length> 50)) break; for (int i=0; i
When you run the program, the output will be:
Hello World!