Unterschied zwischen std::fstream und std::wfstream
-
Hoi, hoi

Also wenn ich mit einem std::fstream-Objekt eine ASCII-codierte Datei auslese, sollte es doch keine Probleme geben, oder ?
Was ist aber, wenn ich mit einem std::fstream-Objekt eine für UNICODE ausgelegt Datei einlese ?
Bzw. wenn ich eine ANSI-Datei mit einem std::wfstream-Objekt auslese, sollte da doch auch Mist rauskommen, oder ?Hoffe ihr versteht was ich meine ... Gibts da irgend ne Lösung ?
Grüße und Frohe Weihnachten :xmas1:
-
Du brauchst eine codecvt Implementierung, die entsprechende Kodierungen kennt. Die Standard-Implementierungen verstehen nur ASCII.
http://www.kharchi.de/codecvt.pngUnd was verstehst du unter Unicode? Unicode ist eine Oberbegriff, bei UTF-16 und UTF-8 gibts grundlegende Unterschiede. Wenn UTF-8 nur ASCII-Zeichen enthält, wirst du keinen Mist bekommen, egal ob du fstream oder wfstream nimmst
Dinkumware bietet jedenfalls eine Komplettlösung für ca. 20 verschiedene Zeichenkode-Standards an. Oder du machst eine eigene Implementierung von std::codecvt_base.
-
hi danke erstmal für deine Antwort
.Artchi schrieb:
Die Standard-Implementierungen verstehen nur ASCII.
Und warum hat man dann einaml für char und einmal für wchar_t instantiiert ?