Sonderzeichen ausgeben funktioniert nicht

Winner

Erfahrenes Mitglied
Hallo zusammen,

ich würde gerne ein Sonderzeichen in einem String ausgeben. Allerdings wird bei mir immer nur ein quadrat anstatt des Sonderzeichen ausgegeben.
Ich benutzte VS6.0 C++ mit MFC.
Das Zeichen soll in der Überschrift einer Tabellenspalte angezeigt werden um die Sortierrichtung festzulegen..

Bis jetzt habe ich folgende Versuche unternommen:

Code:
char test12[12]; 
  sprintf(test12,"%c",0x1E);

  AfxMessageBox(test12);  //liefert das quadrat

  FILE *fp;
  fp = fopen("mytest.txt","a");
  fprintf(fp,"%c\n",0x1E);   //in der Datei steht dann ein horizonatler balken
  fclose(fp); //öffne ich allerdings die datei in einem Hexeditor wird der richtige Wert (0x1E) angezeigt

Kann mir jemand von euch sagen, wie ich das Sonderzeichen ausgeben kann. In einer kleinen consolen Anwendung hat es auch funktioniert. Muss ich irgendwo noch etwas einstellen oder anders machen als wie in dem oben gezeigten Code.

Es sei auch noch Zusagen das die Zeichen wie zum beispiel ein A oder ^ funktionieren....

Über eure Hilfe würde ich mich freuen-.
 
Zuletzt bearbeitet:

vfl_freak

Premium-User
Moin,

Du formatierst im 'fprintf' falsch:

Code:
(%i) // Dezimalwert des Zeichen
[%x] // Hex-Wert des Zeichen
<%c> // das Zeichen als Character; außer nicht darstellbare

Gruß
Klaus
 

Winner

Erfahrenes Mitglied
(%i) // Dezimalwert des Zeichen
[%x] // Hex-Wert des Zeichen
<%c> // das Zeichen als Character; außer nicht darstellbare


Das habe ich bereits auch schon alles versucht! Aber blieb alles ohne Erfolg das Zeichen 0x1E (Dreieck nach unten) zur Anzeige als Symbol zu bringen!
 

vfl_freak

Premium-User
Moin,

auch so, es geht nur um 0x1e ... das ist auch klar - wie ich oben schon schrieb:

nur darstellbare Zeichen ! ! !

Alles kleiner 0x020 (Blank) sind nicht darstellbare Steuerzeichen :suspekt:

Gruß
Klaus