C语言输出ASCII 219无法显示方格

Posted on 2020-03-29 17:20  打烊不打烊  阅读(2327)  评论(0编辑  收藏  举报

1、以下程序使用c打印楼梯:

 结果如下,不能正确显示小方格:

 

 2、编号在128~255的是扩展的编码,原本就不是作为显示用的,出现这个问题的原因是控制台使用了中文代码页,要显示扩展ASCII码,则将执行这个程序的控制台的的代码页改为 437 (OEM-美国) 即可!

解决办法:在程序中添加SetConsoleOutputCP(437);同时注意不要忘记头文件#include <windows.h>,否则会报错。正确代码如下:

 编译运行即可显示正确的小方格:

 

同时,此时点击左上方==>属性,选择“选项”,可以看到 当前代码页 显示为 437。

 

总结:

  SetConsoleOutputCP函数功能:用于设置控制台程序输出代码页。代码页是字符集编码的别名,也有人称"内码表"。

  在程序中编写 SetConsoleOutputCP(437)这行代码才能正常显示128后面的ASCII值。