DataReader-> ReadString抛出异常

时间:2017-11-09 16:51:55

标签: windows-runtime c++-cx

我的代码如下。创建BYTE数组,用一些sytes填充它,然后尝试读取它。阅读时,我收到了一个错误:

int imageSize = 1024;
BYTE* input = new BYTE[imageSize];
// input is filling by some bytes..
DataWriter ^writer = ref new DataWriter();
writer->WriteBytes(ArrayReference<BYTE>(input, imageSize));

IBuffer ^buffer = writer->DetachBuffer();
DataReader ^ reader = DataReader::FromBuffer(buffer); 
auto res = reader->ReadString(buffer->Length); // THIS STRING THROW Platform::COMException ^

1 个答案:

答案 0 :(得分:0)

字符串不能包含随机数据 - 它们必须包含格式良好的Unicode代码点。我认为错误(你不包括)说:

  

HRESULT:0x80070459目标多字节代码页中不存在Unicode字符的映射。

从您的变量名称(imageSize)来看,您似乎正在尝试加载位图数据,这不是有效的字符串。