Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ cli C++;大于~50000的读/写字符_C++ Cli_Streamreader_Streamwriter_Wchar - Fatal编程技术网

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();