如何将 array<unsigned char> 转换为 unsigned char[]?
How do I convert array<unsigned char> to an unsigned char[]?
在 CLR 项目中,我将 AesManaged class 的输出作为 16 字节数组
array<unsigned char>^ result = msEncrypt->ToArray();
但是我需要将其转换为这样定义的 unsigned char 类型的数组
unsigned char buff[16];
编辑:我确实试过了,但它给出了错误(没有带有这些参数的方法签名,尽管有一个)
System::Runtime::InteropServices::Marshal::Copy(result, 0, buff, 16);
还有这个
buff = reinterpret_cast<unsigned char>(&result);
但错误是表达式必须是可修改的左值
根据这个 MSDN documentation 我使用了这个并且它似乎有效
pin_ptr<unsigned char>buff = &result[0];
在 CLR 项目中,我将 AesManaged class 的输出作为 16 字节数组
array<unsigned char>^ result = msEncrypt->ToArray();
但是我需要将其转换为这样定义的 unsigned char 类型的数组
unsigned char buff[16];
编辑:我确实试过了,但它给出了错误(没有带有这些参数的方法签名,尽管有一个)
System::Runtime::InteropServices::Marshal::Copy(result, 0, buff, 16);
还有这个
buff = reinterpret_cast<unsigned char>(&result);
但错误是表达式必须是可修改的左值
根据这个 MSDN documentation 我使用了这个并且它似乎有效
pin_ptr<unsigned char>buff = &result[0];