在我的项目中,我将一个 byte[] 从 C# 传递到 C++ CLR 函数。
C++ CLR 代码:
void TestByteArray(array<System::Byte>^ byteArray)
{
...
}
C# code:
byte[] bytes = new byte[128];
...
TestByteArray(bytes);
在 TestByteArray() 函数中,我需要将 byteArray 转换为 char*,以便可以在本机 C++ 代码中使用它。我怎样才能进行这样的转换?
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...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)