How to convert array<System::Byte> to char* in C++ CLR?
14,399
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...
}
Comments
-
Spark almost 2 years
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?
-
Ben Voigt over 12 yearsNo, that would be for
wchar_t
(the C++ equivalent toSystem::Char
).