Я не понимаю, почему мой символ Unicode не отображается на экране.Я перекодирую функцию printf
(для изучения) ..
static void print_unicode(wchar_t c)
{
write(1, &c, 4);
}
int c_format(va_list *v1, char *options, char format)
{
char c;
wchar_t uc;
int count;
t_bool unicode;
uc = 0;
unicode = check_flags(options, "l");
if (format == '%')
c = '%';
else if (unicode)
uc = (wchar_t)va_arg(*v1, unsigned int);
else
c = (char)va_arg(*v1, int);
count = 1;
display_padding(options, &count, 1);
if (unicode)
print_unicode(uc);
else
ft_putchar(c);
display_padding(options, &count, 0);
return (count);
}
Символ Unicode в стеке - wchar_t nb1 = L'ሴ';
Среда - Linux.