Конвертировать обычный символ * из массива cli - PullRequest
2 голосов
/ 10 января 2012

Я использую C ++ CLI.Мне нужно конвертировать обычный char * в массив cli.Вот что я хочу:

unsigned char * b1 = (unsigned char *) &xp0[0];
unsigned char * b2 = (unsigned char *) &xp2[0];
unsigned char * b3 = (unsigned char *) &xp1[0];

array<byte>^ a1 = gcnew array<byte>(928); //a1 = b1;
array<byte>^ a2 = gcnew array<byte>(928); //a2 = b2;
array<byte>^ a3 = gcnew array<byte>(232); //a3 = b3;

//FBOI::Lambda::SetP(numSF,a1,a2,a3);

Какой самый простой способ преобразовать массив * в байтовый массив с одним измерением?

1 Ответ

4 голосов
/ 10 января 2012

Использование Marshal::Copy() как:

Marshal::Copy(IntPtr(source_addr ), dest_array, start_index, length);

Marshal::Copy(IntPtr( b1 ), a1, 0, a1->Length);
...