如何从unsigned char *转换为array <unsigned char =“”> ^?</unsigned>

时间:2011-06-30 20:59:28

标签: arrays visual-c++ c++-cli

如何将无符号字符数组转换为

 array<unsigned char>^ ?

提前致谢!

1 个答案:

答案 0 :(得分:5)

只需创建托管数组,然后复制数据即可。简单。

array<Byte>^ MakeManagedArray(unsigned char* input, int len)
{
    array<Byte>^ result = gcnew array<Byte>(len);
    for(int i = 0; i < len; i++)
    {
        result[i] = input[i];
    }
    return result;
}

是的,我确信有一种方法可以使用Marshal类为您执行复制,或者获取指向您可以传递给memcpy的托管数组的指针,但这样可行,并且它不会不需要研究MSDN来验证它是否正确。