标签:class edit 操作方法 idt 输出 中文乱码 选择 标题 c++
以输出国际象棋棋盘为例,这里我们需要用到ascll值为219的扩展字符。首先我们给出代码:
#include "stdio.h" int main() { int i,j; for(i=0;i<8;i++) { for(j=0;j<8;j++) if((i+j)%2==0) printf("%c%c",219,219); else printf(" "); printf("\n"); } }
我们以为的美丽的图案即将出现在我们的眼前
结果.....
啊这,这说明什么,这说明我们的控制台读不懂ascll值为127以上的字符,那么到底怎样才能使我们的控制台读懂它呢。
我们来查看一下devc++的控制台代码页编码
将它改为编码437也就是MS-DOS美国即可,下边是常用的编码:
如果要将中文乱码改为空白可以将编码改为65001(十进制65001)
下面介绍一下修改编码的操作方法:
永久性修改就是通过修改注册注册表达到。
打开注册表方法:win+R-> regedit
定位到:HKEY_CURRENT_USER\Console%SystemRoot%_system32_cmd.exe
需要注意的是,默认是没有这个键值的。只有在标题栏右键修改过设置才会出现。删除这个项,就会使用console的默认设置。 如果要修改,可以在cmd的标题栏右键设置,随便修改一个属性,然后刷新下注册表就可以了。
右侧如果没有CodePage,则右键新建一个DWORD值,直接将其修改为437即可(十进制的437)
同理也可以修改:powershell 的默认编码。如果因为权限问题无法修改的,可以右键左边选中的红框,选择权限,赋给自己完全控制的权限就可以了!
下面展示运行结果:
还有一个有趣的图案,代码如下:
#include<stdio.h> int main() { char a=176,b=219; printf("%c%c%c%c%c\n",b,a,a,a,b); printf("%c%c%c%c%c\n",a,b,a,b,a); printf("%c%c%c%c%c\n",a,a,b,a,a); printf("%c%c%c%c%c\n",a,b,a,b,a); printf("%c%c%c%c%c\n",b,a,a,a,b); }
各位可自行运行分享成果
希望本篇文章能给您带来帮助,谢谢阅读
关于Dev-C++无法打印出ascll值大于127的扩展字符的解决方案
标签:class edit 操作方法 idt 输出 中文乱码 选择 标题 c++
原文地址:https://www.cnblogs.com/mengze/p/14903533.html