Umlaute
-
ich habe ein Programm unter Eclipse für C geschrieben.
Die Beschreibung des Programms:Es wird eine Datei geöffnet und werden die Umlaute in dieser Datei umgeschrieben sowie in eine neue Datei gespeichert.
Der Code sieht wie folgt aus:
#include <stdio.h>
int main(void)
{
FILE *lesen, *schreiben;
char zeichen;lesen = fopen("/home/workspace/dateiname_eingabe", "r");
if (lesen == NULL)
printf("Fehler beim Oeffnen der Datei !");
else
{schreiben = fopen("/home/workspace0/dateiname_ausgabe", "w");
if (schreiben == NULL)
printf("Fehler beim Schreiben der Datei !");
else
{
zeichen = fgetc(lesen);while (zeichen != EOF)
{
switch (zeichen)
{
case 'a':
fputs("A", schreiben);
break;default:
fputc(zeichen, schreiben);
}zeichen = fgetc(lesen);
}fclose(schreiben);
}fclose(lesen);
}
return 0;
}Das obige Beispiel läuft, bis auf ich anstatt die folgende Zeile
case 'a':
fputs("A", schreiben);die schreibe.
case 'ä':
fputs("ae", schreiben);Dann wird eine Fehlermeldung gegeben:
Warnung: case-Marke überschreitet Maximalwert des Typs
Warnung: Zeichenkonstante mit mehreren ZeichenDanke
Azad
-
1. Bitte benutze CPP-Tags (bevor Du fragst, was das ist, schau Dich bitte etwas unterhalb des Foren-Editors um).
2. Der Eclipse-Editor wird den Quelltext vermutlich in UTF-8 speichern, wo Umlaute mehr als ein Byte lang werden. Stell diesen Editor um auf ISO-8859-15, dann sollte es gehen.
-
Hallo,
erstmal danke ich dir. Deine Lösung hat's geklappt.
Ich hatte nachgeguckt und fand nichts. Tut mir leid. Wo ist das nochmal?
1. Bitte benutze CPP-Tags (bevor Du fragst, was das ist, schau Dich bitte etwas unterhalb des Foren-Editors um).
Vielen Dank
Azad
-
Azad schrieb:
Wo ist das nochmal?
Unter dem Eingabefeld, in dem ich gerade tippe, befindet sich ein Button "C/C++".
-
Jetzt habe ich es gefunden.
Danke nochmal
Azad
-
Ich bin ein Deutscher - holt mich hier raus!