Почему не работает wcrtomb, когда пытаюсь сконвертировать им
какой-нибудь символ с индексом больше U+7e?
Вот пример, почему-то не конвертирует букву я:
#include <stdio.h>
#include <wchar.h>
int main()
{
char buf[32];
size_t r1, r2;
buf[0] = 0;
r1 = wcrtomb(buf, L'я', NULL);
printf("%s %s\n", buf, ((size_t)-1) == r1 ? "EILSEQ" : "");
buf[0] = 0;
r2 = wcrtomb(buf, L'z', NULL);
printf("%s\n", buf, ((size_t)-1) == r2 ? "EILSEQ" : "");
}
LC_CTYPE у меня "ru_RU.UTF-8"
Ответ на:
комментарий
от watashiwa_daredeska
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум покритикуйте функцию (2009)
- Форум non-blocking write (2011)
- Форум как вывести русские символы и символы псевдографики в консоль (2012)
- Форум вопрос про select() (2013)
- Форум Программа на Си падает, при выделении памяти (2014)
- Форум Не понимаю почему не работает (2013)
- Форум pthread не работает (2006)
- Форум Интересно! (2004)
- Форум Не могу разобраться с ошибкой сегментирования (2017)
- Форум увидел интересный способ присваивания. (2017)