博客
关于我
C语言中打印扩展字符
阅读量:326 次
发布时间:2019-03-04

本文共 906 字,大约阅读时间需要 3 分钟。

1、ASCII 打印字符:数字 32–126 分配给了能在键盘上找到的字符,当您查看或打印文档时就会出现。注:十进制32代表空格 ,十进制数字 127 代表 DELETE 命令。下面是ASCII码和相应数字的对照表

在这里插入图片描述
2、ASCII 非打印控制字符:ASCII 表上的数字 0–31 分配给了控制字符,用于控制像打印机等一些外围设备。例如,12 代表换页/新页功能。此命令指示打印机跳到下一页的开头。
在这里插入图片描述
3、扩展 ASCII 打印字符:扩展的 ASCII 字符满足了对更多字符的需求。扩展的 ASCII 包含 ASCII 中已有的 128 个字符(数字 0–32 显示在下图中),又增加了 128 个字符,总共是 256 个。即使有了这些更多的字符,许多语言还是包含无法压缩到 256 个字符中的符号。因此,出现了一些 ASCII 的变体来囊括地区性字符和符号.
在这里插入图片描述

在打印扩展字符的时候

在这里插入图片描述
在这里插入图片描述

于是开始了慢慢长路debug

原因:

一般情况我们CMD中的默认代码页是936(ANSI/OEM - 简体中文GBK,用于在CMD中显示中文的,这样就不能在CMD中显示SCII码中128-255的特殊字符。
解决方法:

方法1:程序中指定CMD的程序输出代码页

#include 
#include
//这个一定要加void main(){ SetConsoleOutputCP(437); //指定CMD的方式为英文 //既可以正常显示128-255中的字符 //想要显示中文SetConsloeOutputCP(936);}

方法2:通过修改CMD的属性(程序默认代码页)

在这里插入图片描述
1)打开命令提示符cmd窗口。
开始菜单—>运行—>键入cmd
2)修改“默认值”
鼠标放在标题栏上右击—>默认值—>默认代码页,选择437(OEM-美国)
【注意:选择这个后,CMD的中将不能显示中文,想要显示中文,得选择936(ANSI/OEM - 简体中文GBK),这里的显示仅仅只是针对于CMD窗口中的显示,不影响系统的其他显示】
3)关闭当前的CMD窗口,然后重新编译程序,运行即可

在这里插入图片描述

成功

转载地址:http://sosh.baihongyu.com/

你可能感兴趣的文章
C++中找资源或者函数的方法
查看>>
一些留给自己的思考题(只求回过头来能够有所获)
查看>>
SQL函数返回表的写法
查看>>
delete对象时会自动调用类的析构函数
查看>>
C++ 子类对象直接赋值给父类对象可行,反过来不行
查看>>
WMWare下安装centOS7,并使用xshell进行连接记录.
查看>>
linux下同一个动态库名为何辣么多的.so文件
查看>>
SQL联表的方式(逗号, Left Join, Right Join)
查看>>
牛客网输入输出举例
查看>>
字符串初始化时的注意点
查看>>
dll路径加载顺序
查看>>
悬垂指针和野指针的区别
查看>>
软考相关试题
查看>>
顺序表的操作
查看>>
常量表达式
查看>>
POD类型
查看>>
安装HDF5及在VS下配置HDF5
查看>>
const与常量,傻傻分不清楚~
查看>>
图解哈希表及其原理
查看>>
Head First设计模式——迭代器模式
查看>>