C++ cli C++;大于~50000的读/写字符
我有一个程序,基本上可以写这样的字符C++ cli C++;大于~50000的读/写字符,c++-cli,streamreader,streamwriter,wchar,C++ Cli,Streamreader,Streamwriter,Wchar,我有一个程序,基本上可以写这样的字符 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)); 我的问题是,当x1/x2/x3/x
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));
我的问题是,当x1/x2/x3/x4的整数值较大时(我不能确定是哪个,但我认为当它超过50000时,它大约在某个地方),它会读入值为65533的字符
我把StreamReader和StreamWriter的编码值弄乱了,但我首先将它们设置为System::Text::encoding::Unicode,不明白为什么这样做不起作用
我甚至不确定它是否写错了符号或者读错了。。。当我打开它创建的文本文件时,它们对于我的电脑来说都是不可读的字符。。。我真的没有主意。有人知道我在这里做错了什么吗?Unicode常见问题解答可能会介绍这一点。完全不清楚您实际上想实现什么,但听起来您确实应该使用文件流,而不是StreamWriter。字节和字符是不能互换的。是的,很抱歉,这是一个相当大的程序,我不能给出太多的上下文而不偏离主题-但是文件的输入/输出在完全不同的时间被调用,所以我认为我不需要文件流。我想你的链接确实解释了这一点。。。虽然我能看到这意味着我不能做我想做的事:(
String^ fileContent = fileReader->ReadToEnd();