Einlesen einer Unicode-Text-Datei unter Visual C++ 2005



  • Hi,

    vlt bin ich einfach blind aber ich habe nach tagelanger Suche keine Lösung für mein Problem gefunden.

    ich möchte eine HTML Datei in einen Puffer lesen um sie zu verändern und dann in eine neue Datei zu schreiben. Dazu brauche ich den Puffer natuerlich als Unicode Puffer, da Uumlaute etc korrekt behandelt werden müssen. Schön einfach wäre es hier, wenn man einfach einen System::String einlesen könnte da man diesen sehr einfach bearbeiten kann. Ich finde aber keine Möglichkeit das zu tun. Alle Read Befehle, sei es mit System:IO:File oder System:IO:Stream arbeiten nur mit cli::array. Das nutzt mir aber mal gar nichts, da das array nicht als Unicode array anzusprechen ist. Versuche wie cli::array<wchar_t> etc sind kläglich gescheitert.

    Wie bekomme ich das Problem möglichst einfach und elegant gelößt ?

    Vorab besten Dank

    Thallius



  • 1. Du bist im falschen Forum: Das gehört ins C++/CLI Forum.
    (Wirst sicher bald verschoben.)
    2. Benutze doch System::IO::FileStream und System::IO::TextReader bzw. TextWriter.

    Gruss Simon

    Edit: Ausserdem könntest Du auch gleich System::IO::File verwenden.



  • Das ist ja mein Problem:

    System::String ^buffer;

    buffer=System::IO::File::ReadAllText(InFileName,kein oder beliebiges encoding);

    buffer=System::IO::File::WriteAllText(OutFileName,kein oder beliebiges encoding);

    und schon ist der Text nicht mehr korrekt. Alle Umlaute sind defekt. Warum ?

    Gruß

    Claus



  • Alle Encodings ausprobiert?
    Simon



  • Ok,

    nachdem ich alle Unicode und UTF varianten durch hatte hatte ich es aufgegeben. Nun habe ich der Reihe nach alle durchprobiert und siehe da "default" scheint zu funktionieren. Manchmal sollte man vlt besser aufhören und am nächsten Tag weiter machen.

    Danke

    Claus


Anmelden zum Antworten