#c# #c #c -cli
#c# #c #c -cli
Вопрос:
В моем проекте я передаю байт[] из C # в функцию CLR C .
Код C CLR:
void TestByteArray(array<System::Byte>^ byteArray)
{
...
}
C # код:
byte[] bytes = new byte[128];
...
TestByteArray(bytes);
В функции TestByteArray() мне нужно преобразовать ByteArray в char *, чтобы я мог использовать его в собственном коде C . Как я могу выполнить такое преобразование?
Ответ №1:
void TestByteArray(array<System::Byte>^ byteArray)
{
pin_ptr<System::Byte> p = amp;byteArray[0];
unsigned char* pby = p;
char* pch = reinterpret_cast<char*>(pby);
// use it...
}
Ответ №2:
Вы ищете кодировку.Метод GetChars()
Комментарии:
1. Нет, это было бы для
wchar_t
(эквивалент CSystem::Char
).