如何在 C++ CLR 中将 array 转换为 char*?

2023-12-19

在我的项目中,我将一个 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(使用前将#替换为@)

如何在 C++ CLR 中将 array 转换为 char*? 的相关文章

随机推荐