繁体   English   中英

如何在C ++ CLR中将数组<System :: Byte>转换为char *?

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

在我的项目中,我将一个byte []从C#传递给C ++ CLR函数。

C ++ CLR代码:

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

C#代码:

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...
}

您正在寻找Encoding.GetChars()方法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM