Umlaute einlesen
-
aha, ok, aber woher weiß ich welchen wert ae_ein hat?
-
MasterCounter schrieb:
aha, ok, aber woher weiß ich welchen wert ae_ein hat?
Mach dir ein kleines Programm, mit dem du ein Zeichen von der Tastatur einliest und lass dir den Wert ausgeben:
... zeichen = getche(); printf(" = %d\n", zeichen); ...
-
oh ne, na klar hab ich hier sogar mal eins gemacht... heut ist echt nicht mein tag...
danke dir, auch wenns ne schwere geburt war
-
Warum funktioniert diese Funktion hier nicht?
char* ConvUmlaute (char *string) { int i=0; int len=0; int ae_ein=-124; int oe_ein=-108; int ue_ein=-127; int AE_ein=-114; int OE_ein=-103; int UE_ein=-102; int ss_ein=-31; unsigned char ae_aus=132; unsigned char oe_aus=148; unsigned char ue_aus=129; unsigned char AE_aus=142; unsigned char OE_aus=153; unsigned char UE_aus=154; unsigned char ss_aus=225; len=strlen(string); i=0; while (i<=len) { if (string[i]==ae_ein) string[i]=(char)ae_aus; else if (string[i]==ue_ein) string[i]=(char)ue_aus; else if (string[i]==oe_ein) string[i]=(char)oe_aus; else if (string[i]==AE_ein) string[i]=(char)AE_aus; else if (string[i]==UE_ein) string[i]=(char)UE_aus; else if (string[i]==OE_ein) string[i]=(char)OE_aus; else if (string[i]==ss_ein) string[i]=(char)ss_aus; i++; } return string; }
-
Ganz einfach. Du machst folgendes:
... if(string[i] == 'a') { string[i] = 'a'; } ...
Vielleicht verstehst du besser was ich meine, wenn du einfach mal nach deinen *_ein und *_aus mal folgendes aufrufst:
printf("%d => %d\n", ae_ein, ae_aus);
Du solltest die *_ein und *_aus übrigens besser als Konstanten definieren. (Also ein const davor schreiben oder sie als Präprozessormakros definieren.)
-
du meinst
printf ("%c => %c",ae_ein,ae_aus);
ich habs gemerkt, aber was muss ich ändern, das ist echt ein witz, aber ich steh im Moment echt irgendwie total auf der Leitung...
-
Ich packs echt nicht...
-
immer noch nicht...
-
ach komm, AJ jetzt sags mir halt, ich bin ja praktisch dein Nachfoger, weil meine Initialien sind AK
-
ach komm, AJ jetzt sags mir halt, ich bin ja praktisch dein Nachfoger, weil meine Initialien sind AK
EDIT: Sorry wegen dem Doppelposting Firefox hat gesponnen...
Ach nein, der IE hat ihn abgelenkt
-
wie wärs mit %d???
-
@MasterCounter
Na wenn ae_ein und ae_aus den gleichen Wert haben, dann änderst du nichts. Du musst rausbekommen welchen Wert du für ä einliest und welchen Wert du ausgeben musst, damit ein ä erscheint (und das gleiche bei den anderen Umlauten).Dazu kannst du dir übrigens wieder ein Programm schreiben. Einfach eine Schleife von 0 weg hochzählen lassen bis 255 (mehr hat hald ein char nicht ;)) und den %c und das %d dazu ausgeben.