c ++ 〜50,000よりも大きな文字を読み取り/書き込み
-
27-10-2019 - |
質問
基本的にこのようなキャラクターを書くプログラムがあります
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));
そして後に彼らはただだけでプログラムに入力します
String^ fileContent = fileReader->ReadToEnd();
私の問題は、x1/x2/x3/x4が整数値をある程度持っている場合です(どれがわからないが、50,000を超えるとどこかにあると思う) 65533。
私はStreamReaderとStreamWriterエンコード値を台無しにしましたが、私はそれらをシステムに設定しています:: Text :: Encoding :: Unicode :: Unicodeでは、なぜそれがうまくいかないのかわかりません...
それがシンボルを間違って書いているのか、それを読んでいるのかさえわかりません...それが作成するテキストファイルを開くと、それらはすべて私のPCの読みにくい文字です...私は本当にアイデアを失います。誰かが私がここで何をしているのか知っていますか?
解決
これはおそらくUnicode FAQでカバーされています」代理とは何ですか?「あなたが実際に何を達成しようとしているのかは完全に不明ですが、ストリームライターではなくフィルストリームを使用する必要があるように聞こえます。バイトとキャラクターは いいえ 交換可能。
所属していません StackOverflow