C語言 ASCII碼顯示129後的字元

int main(){

char str[100], *ptr;

int i;

printf("輸入ASCII(數值)欲轉字串:\n");

gets(str);

ptr= strtok(str, " ");

while(ptr!=NULL){

while(ptr !=NULL){

sscanf(ptr,"%d", &i);

printf("字元-> %c\n",i);

ptr=strtok(NULL," ");

}

system("PAUSE");

return 0;

}

以上程式碼要如何改成能輸入129後顯示129的字元,不然129~255都只能顯示" ? " ,拜託大大幫改,我有找到system("chcp 437"); 與 system("chcp 950");,但是沒成功

已更新項目:

while(ptr !=NULL){

sscanf(ptr,"%d", &i);

printf("字元-> %c\n",i);

ptr=strtok(NULL," ");

}

3 個解答

評分
  • 8 年前
    最佳解答

    #include <stdio.h>

    #include <stdlib.h>

    int main(){

    char str[100], *ptr;

    int i;

    printf("輸入ASCII(數值)欲轉字串:\n");

    gets(str);

    system("chcp 437");

    ptr= strtok(str, " ");

    while(ptr !=NULL){

    sscanf(ptr,"%d", &i);

    printf("%3d -> %c\n", i, i);

    ptr=strtok(NULL," ");

    }

    system("PAUSE");

    system("chcp 950");

    return 0;

    }

  • 8 年前

    A. Windows Form 設定顯示物件(TextBox,Edit,LitBox..)的字型

    B. 純 DOS 應該 OK

    C. Console ( Command Box) 複製出程式的捷徑>內容>字型..若沒您要的字型,應該可以再寫程式改 ,此捷徑執行出的 Form 的字型

    ....

    ...

  • 卸貨
    Lv 5
    8 年前

    127 以後的東西顯示不出來是很正常的,因為 ASCII 並沒有定義 127 以後的東西。

    127 以後的號碼其實是被各個語系拿去使用了,也就是說,同一個號碼(大於 127)在不同語系設定的電腦上會顯示出不同的東西,而在你的電腦上是問號。

還有問題?馬上發問,尋求解答。