C ++ / CLI,我有一个Byte [],我需要一个char *来表示第一个和最后一个元素

时间:2010-05-21 19:00:42

标签: c++-cli

我已经交了一个包含文件的Byte[]。我需要将此传递给另一个期望两个参数的方法,一个char*到文件的开头,char*到文件的末尾。

我假设我需要先固定数组,以免收集它。我不认为我可以只投出第一个和最后一个元素,对吗?

1 个答案:

答案 0 :(得分:1)

旧问题,但我发现你可以从这样的数组中创建pin_ptr<unsigned char>,然后reinterpret_cast结果。

    pin_ptr<unsigned char> pinned = &buffer[0];
    unsigned char* unsignedBufferPtr = pinned;
    char* bufferPtr = reinterpret_cast<char*>(unsignedBufferPtr);

然后,您可以在结果

上使用reinterpret_cast