Передача указателя на символ из C # в C ++ [дубликат]
Возможный дубликат:
Передача указателя на символ из C # в функцию c ++
У меня есть такой тип проблемы:
У меня есть функция C ++ с этой подписью:
int myfunction ( char* Buffer, int * rotation)
Параметр буфера должен быть заполнен пробелами (гекс 0x20)
В C ++ я могу решить проблему, просто сделав это:
char* buffer = (char *)malloc(256);
memset(buffer,0x20,256);
res = myfunction (buffer, rotation);
Я пытаюсь вызвать эту функцию из C #.
Это мое объявление p / invoke:
[DllImport("mydll.dll", CharSet = CharSet.Ansi, SetLastError = true)]
private static extern unsafe int myfunction (StringBuilder Buffer, int* RotDegree);
В моем классе C # ямы пытались сделать это:
StringBuilder buffer = new StringBuilder(256);
buffer.Append(' ', 256);
...
myfunction(buffer, rotation);
но это нет работа ....
Кто-нибудь может мне помочь?
Спасибо."