Как печатать некоторые символы Юникода? Хотя я устанавливаю кодировку UTF-8, я не могу ее распечатать. Я получаю символы Unicode в шестнадцатеричном виде (c2 82 c2 81 c2 80 0) в непрерывном потоке байтов. Но когда я попытался напечатать свой символ Юникода, указав сначала указатель на символ, он не печатает. Зачем?Почему эти символы Unicode не печатаются, хотя я устанавливаю среду UTF8?
char s[]={0xc2,0x82,0xc2,0x81,0xc2,0x80,0x00};
printf("%s",s);
Использование C в среде Linux.
Ваш 'char s []', указанный здесь, не заканчивается нулевым символом ('' \ 0''), поэтому 'printf' не может работать: it будет печатать мусор, пока он не найдет нулевой символ или будет coredump. – Fabien
Я сделал, но программа не печатала никаких символов. – preabs
Является ли ваш терминал настроен на использование UTF-8? Если нет, вероятно, он будет использовать 8859-1 или 8859-15 или что-то подобное, и будет интерпретировать байты в соответствии с этим набором кодов. –