Frage

Ich habe ein Programm, das im Grunde genommen solche Charaktere schreibt

wchar_t c[5] = {static_cast<wchar_t>(x1), static_cast<wchar_t>(x2), static_cast<wchar_t>(x3), static_cast<wchar_t>(x4)};
fileWriter->Write(msclr::interop::marshal_as<String^>(c));

Und dann hat sie später mit nur in das Programm eingegeben

String^ fileContent = fileReader->ReadToEnd();

Mein Problem ist, wenn x1/x2/x3/x4 einen ganzzahligen Wert von einer großen Zahl hat (ich kann nicht sicher sein, welche, aber ich denke 65533.

Ich habe mich mit den StreamReader- und Streamwriter -Codierungswerten verprügelt, aber ich habe sie zu System :: text :: coding :: unicode zuerst festgelegt und kann nicht sehen, warum das nicht funktionieren würde ...

Ich bin mir nicht einmal sicher, ob es das Symbol falsch schreibt oder es liest ... Wenn ich die Textdatei öffne, die es erstellt, sind sie alle unleserliche Zeichen für meinen PC ... Ich bin wirklich nicht mehr für Ideen. Weiß jemand, was ich hier falsch mache?

War es hilfreich?

Lösung

Dies wird wahrscheinlich von den UNICODE -FAQ bedeckt. "Was ist ein Ersatz?"Es ist völlig unklar, was Sie tatsächlich erreichen wollen, aber es klingt sicher so, als ob Sie einen FileStream und keinen Streamwriter verwenden sollten. Bytes und Charaktere sind nicht austauschbar.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top