Umlaute in der DOS-Boxilein anzeigen lassen
-
hoi säme
wie kann man denn die umlaute anzeigen lassen,denn es komme immer solchi ersatzbuchstabe und da snervt
?
playeer
-
Einfach eine kleine Konvertier-Funktion PrintNormal(char *s); schreiben
-
keksekekse schrieb:
Einfach eine kleine Konvertier-Funktion PrintNormal(char *s); schreiben
und wie genau?Ein Beispiel?
-
Einfach substituieren (so ungefähr)
void PrintNormal(char *s) { while(*s) { switch(*s) { case 'ä': printf("\xe0"); break; case 'Ä': printf("\xd4"); break; /* ... */ default: printf("%c", *s); break; } s++; } }
Die genauen ASCII-Werte liefert ein Tabelle:
#include <conio.h> #include <stdio.h> int main() { int i, j; clrscr(); printf(" 8 9 A B C D E F\n\n"); for (j = 0; j < 16; j++) { printf("%X ", j); for (i = 8; i < 16; i++) printf(" %c", j+i*16); printf("\n"); } getch(); }
Hab ich noch gefunden
{ if (*s == 'ä') fprintf(fp, "\x84", *s++); else if (*s == 'ö') fprintf(fp, "\x94", *s++); else if (*s == 'ü') fprintf(fp, "\x81", *s++); else if (*s == 'Ä') fprintf(fp, "\x8E", *s++); else if (*s == 'Ö') fprintf(fp, "\x99", *s++); else if (*s == 'Ü') fprintf(fp, "\x9A", *s++); else if (*s == 'ß') fprintf(fp, "\xE1", *s++);
-
Es geht aba net:
char s = 'ä'; PrintNormal(char *s);
also ich verstehe es noch imer nit
-
char* s = "ä";
-
und funktion so aufrufen :
PrintNormal(s);