How to convert array<System::Byte> to char* in C++ CLR?

来源:互联网 发布:淘宝上卖东西的流程 编辑:程序博客网 时间:2024/05/16 07:12

In my project, I pass a byte[] from C# to C++ CLR function.

C++ CLR code:

void TestByteArray(array<System::Byte>^ byteArray){    ...}

C# code:

byte[] bytes = new byte[128];...TestByteArray(bytes);

In the TestByteArray() function, I need convert byteArray to char*, so that I can used it in native C++ code. How can I do such conversion?

 Answers

void TestByteArray(array<System::Byte>^ byteArray){    pin_ptr<System::Byte> p = &byteArray[0];    unsigned char* pby = p;    char* pch = reinterpret_cast<char*>(pby);    // use it...}
转自:http://stackoverflow.com/questions/7707985/how-to-convert-arraysystembyte-to-char-in-c-clr