码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2021-06-19 19:36:31      阅读:0      评论:0      收藏:0      [点我收藏+]

标签: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!