Передача указателя на символ из 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);

но это нет работа ....

Кто-нибудь может мне помочь?

Спасибо."

Ответы на вопрос(2)

Ваш ответ на вопрос