![](/img/trans.png)
[英]Iterating through const unsigned char * containing “Extended ASCII” characters
[英]Printf displays this � whenever I use extended ascii(unsigned char)
我想使用一些擴展的 ASCII 字符 o 我使用了無符號字符。 沒有編譯器錯誤,但它只是顯示�
#include <stdio.h>
#include <wchar.h>
#include "PrintColor.h"
unsigned char background_occupacy[101] = {178,178,177,'@','@','@','@','W','W','M','M','M','M','M','M','M','M','B','Q','G','P','N','N','&','O','D','g','S','E','m','w','A','8','Z','K','H','6','9','X','C','p','b','q','5','U','2','O','e','3','a','V','V','F','4','h','k','o','s','y','u','n','n','c','T','z','z','7','J','x','L','L','v','?','?','=','f','t','t','j',')','(','(','r','r','i','^','/','*','_',';',';',':','-',',','.','.',' ',' ',' ',' '};
int main(){
text_color(5);
background_color(5);
for(int j = 0; j < 8; j ++){
text_color(8 - j);
background_color(j);
for(int i = 101; i > -1; i --){
printf("%c",background_occupacy[i]);
}
text_color(j);
background_color(8 - j);
for(int i = 0; i < 101; i ++){
printf("%c",background_occupacy[i]);
}
reset();
printf("\n");
}
}
我認為這里可能有一些問題,例如:您的終端有自己的編碼,所以如果您想要 output “特殊”字符 - 請確保您的終端可以 output 它。
因此,如果您是 Windows 用戶 - 更改代碼頁或使用強制轉換為另一種編碼。 如果您不是 windows 用戶 - 嘗試使用此庫: https://github.com/fmtlib/fmt
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.