Ich habe Probleme beim Öffnen einer Unicode-Datei in C++ mit fstreams anstelle der älteren FILE-basierten Dateihandhabungsfunktionen. Beim Öffnen einer Datei mit _wfopen kann ich einen Modus angeben, der angibt, welche Zeichencodierung verwendet werden soll. ZB:wifstream entspricht dem "mode" -Parameter von _wfopen?
_wfopen_s(&file, fileName, unicode ? L"r+, ccs=UTF-16LE" : L"r+");
Das funktioniert gut. Bei der Verwendung von wifstream erhalte ich jedoch die Byte-Reihenfolge-Markierung am Anfang der Datei, und der Rest der Datei erscheint im Speicher mit 0x00 interlaced. Es ist klar, dass nur jedes Zeichen als Byte eingelesen wird.
Meine Frage ist: gibt es eine Entsprechung zu dem 'Modus' Parameter oben für die Verwendung mit fstreams? Es ist nicht schlimm, wenn nicht, ich bevorzuge nur die Syntax von Streams über FILEs.
Danke!