C Dateiadressen mit Umlauten für fopen() etc.

smde

Newbie
Registriert
Jan. 2016
Beiträge
5
Moin,

Ich habe ein Programm geschrieben, in das durch die Konsole(CMD) Ordner bzw. Dateiadressen eingegeben und mit fgets(~,~,stdin) ausgelesen werden. Auf dem Hauptrechner funktioiert alles, auch Adressen mit Leerzeichen, allerdings nicht auf dem Notebook, weil die gewünschte Adresse ein ä und ü beinhaltet.

Den String "c:\\name mit ü\\fächer" habe ich auch schon direkt ins fopen() geschrieben, allerdings ohne Erfolg.

Wenn man Google anstrengt findet man nur Anleitungen für HTML Adressen oder C Tutorials, in denen die Grundlagen der Ein- und Ausgabe beschrieben werden, die mir aber alle nicht weiter helfen. Auch im Buch C von A-Z von Jürgen Wolf konnte ich keine Antwort finden. Leider ist das ja auch ein eher nationales Problem, mit dem die Englischsprachigen Länder nicht geplagt sind, weshalb man in den vielen Englischen Ressourcen auch keine Hilfe findet.

So bin ich nun hier gelandet hoffe, dass mir andere Deutsche, die auch mit Umlauten geplagt sind, helfen können:)

Vielen Dank schonmal für eure Bemühungen!
 
Zuletzt bearbeitet:
Damit Umlaute in der Windows-Konsole richtig angezeigt und eingegeben werden, mußt Du iirc die Konsole vorher auf UTF-8 umschalten. Das machst Du, in dem Du a) zunächst einen UTF-8-tauglichen Font für die Konsole einstellst (z. B. Lucida console) und b) die Codepage umschaltest:

C:> chcp 65001


Dann sollte es gehen.

/edit: um UTF-8-Namen mit fopen zu öffnen, mußt Du a) _wfopen verwenden und b) Deinen Quelltext im UTF-8-Zeichensatz (nicht ANSI) abspeichern.
 
Zuletzt bearbeitet:
Zurück
Oben