【发布时间】:2011-06-17 18:09:59
【问题描述】:
我有一个程序基本上可以写出这样的字符
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 编码值,但我一开始将它们设置为 System::Text::Encoding::Unicode 并且不明白为什么这不起作用...
我什至不确定它是错误地写入符号还是读取它......当我打开它创建的文本文件时,它们都是我的电脑无法读取的字符......我真的很茫然的想法。有谁知道我在这里做错了什么?
【问题讨论】:
标签: c++-cli streamreader streamwriter wchar