Memcpy от собственного массива к управляемому массиву в C ++ CLI

Правильно ли я это делаю?

Я получил указатель на собственный массив, и мне нужно скопировать его в управляемый массив. Используйте memcpy () с pin_ptr.

unsigned char* pArray;
unsigned int arrayCount;
// get pArray & arrayCount (from a COM method) 

ManagedClass->ByteArray = gcnew array<Byte,1>(arrayCount)
pin_ptr<System::Byte> pinPtrArray = &ManagedClass->ByteArray[0];
memcpy_s(pinPtrArray, arrayCount, pArray, arrayCount);

arrayCount - это фактическая длина pArray, поэтому особо не беспокойтесь об этом аспекте. Посмотрел код и скопировал массив из вектора. Так что я могу безопасно установить размер управляемого массива.

8
задан Soppus 5 August 2011 в 09:02
поделиться