我只是试图打印一个充满填充ASCII框的形状到控制台,但输出只是垃圾文本。这里是我的代码:打印ASCII框不工作
#include <stdio.h>
const char shade_block[] = {
"▒▒██████▒▒\n\
▒████████▒\n\
██████████\n\
▒████████▒\n\
▒▒██████▒▒\n\
"};
int main()
{
printf(shade_block);
return 0;
}
这里是输出:
ΓûÆΓûÆΓûêΓûêΓûêΓûêΓûêΓûêΓûÆΓûÆ
ΓûÆΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûÆ
ΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûê
ΓûÆΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûêΓûÆ
ΓûÆΓûÆΓûêΓûêΓûêΓûêΓûêΓûêΓûÆΓûÆ
图片的代码,如果它不能正常显示。
我在C,CodeLite IDE,WINDOWS 10使用MinGW-32的工作。提前致谢。
结果取决于控制台使用的代码页。当您使用ANSI代码页时,通常的控制台使用OEM代码页。您需要使用Unicode功能和文本以进行正确的打印 – RbMm
请注意,您不应该使用''''''终止来创建长字符串 - 见证第二行和后续行中的空格。使用字符串连接:'“▒▒██████▒\ \ n” “▒████████▒\ n” “██████████\ n” “▒█████████\ n” “▒▒██████▒▒\ n”'也处理主要空白。这些字符串段之间只有空白(代码中的换行符,我的注释中的空白)。在C90之前,反斜线换行机制是必需的,但自此以后就没有了。 –
它可能不是任何安慰告诉你,代码在运行macOS Sierra的Mac上可以正常工作。 –