以輸出國際象棋棋盤為例,這里我們需要用到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); }
各位可自行運行分享成果
希望本篇文章能給您帶來幫助,謝謝閱讀