2017-11-09 7 views
-2

私は以下のコードを持っています。 BYTEの配列を作成し、いくつかのsytesでそれを埋め、次にそれを読み取ろうとしています。読むとき、私はエラーを得た:DataReader-> ReadString例外をスローする

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^

答えて

0

文字列はランダムなデータを含めることはできません - 彼らはよく形成されたUnicodeコードポイントが含まれている必要があります。有効な文字列ではありません、ビットマップデータをロードしようとしているように聞こえるあなたの変数の名前(imageSize)から

HRESULT:0x80070459 No mapping for the Unicode character exists in the target multi-byte code page.

:私は(あなたが含まれておりません)エラーは、この言う前提としています。