Char als Klartext im Quellcode ▒

#1
Hallo,
ich nutze codeblock unter Windows 10..und verstehe nicht so recht weshalb ich das Zeichen ▒ in eienr Variable über %c ausgeben kann, nicht aber wenn ich direkt
printf("%c",'▒');

Code:
#include <stdio.h>
#include <stdlib.h>


int a = 0;
char c = 177; //177


int main()
{

    for (int n=0; n<10; n++)
    {
        printf("%c",c);  //GEHT!!!!!
    }
    printf("\n");

      for (int n=0; n<10; n++)
      {
        printf("%c",'▒'); //geht nicht!!!!!!

    }
    return 0;
}
 

German

Well-Known Member
c-b Experte
#2
Klappt nur dann, wenn dein Quellcode dieselbe Codierung hat wie die eingestellte Codierung des Konsolefensters. In Codepage 850 repräsentiert Byte 0xB1 (dez. 177) das Unicodezeichen \u2592 (Medium Shade). Darum funktioniert die Ausgabe mit dem Zahlenwert. Durch welches Byte wiederum ▒ in der Codierung deines Quellcodes repräsentiert wird, weiß ich nicht. Was hast du denn in deiner IDE eingestellt?
 
Oben