4

关于Dev-C++无法打印出ascll值大于127的扩展字符的解决方案

以输出国际象棋棋盘为例,这里我们需要用到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); }

各位可自行运行分享成果

希望本篇文章能给您带来帮助,谢谢阅读


__EOF__

本文作者梦泽ovo
本文链接https://www.cnblogs.com/mengze/p/14903533.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   梦泽ovo  阅读(1134)  评论(2编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示