我试图制作一个简单的纸牌游戏但是从Win 7切换到Xubuntu 14.04后,即使是最简单的东西也不再有用了。我尝试了3天,仍然无法解决。 接下来的代码是控制台给我3个钻石问号。
#include <stdio.h>
#include <stdlib.h>
#define herz "\xe2\x99\xa5"
#define karo "\xe2\x99\xa6"
#define kreuz "\xe2\x99\xa3"
#define pik "\xe2\x99\xa0"
int main()
{
char ch = '0';
printf("%c%c%c%c",herz,karo,kreuz,pik);
return 0;
}
我尝试使用代码:blocks console和xubuntu。
(xterm -T $TITLE -e and xfce4-terminal -T $TITLE -x)
Console LANG为en_US.UTF-8
。
我尝试了几种字体并没有改变它。我可以在控制台中手动输入特殊字符,但是当C尝试打印它们时它不起作用。
答案 0 :(得分:3)
%c
用于打印单个字符。由于您尝试打印字符串,请改用%s
。您的打印声明将是
wprintf("%s%s%s%s",herz,karo,kreuz,pik);
答案 1 :(得分:1)
您已经定义了文字常量字符串,您需要文字常量宽字符。
const wchar_t herz = L'\ue299a5';
然后,您需要使用wprintf()
格式说明符{/ 1>}进行打印:
%lc