1. 程式人生 > 其它 >關於Dev-C++無法打印出ascll值大於127的擴充套件字元的解決方案

關於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); }

各位可自行執行分享成果

希望本篇文章能給您帶來幫助,謝謝閱讀