可能重複:
Passing char pointer from C# to c++ function傳遞字符指針從C#到C++
我有這種類型的問題:
我有與此簽名C++函數:
int myfunction (char* Buffer, int * rotation)
該bu FFER參數必須充滿空間字符(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);
,但它不工作....
任何人都可以幫助我?
謝謝。
「但它不起作用」沒有幫助。 – PhoenixReborn
你甚至沒有顯示p/invoke聲明!沒有這樣的基本信息,我們無法幫助您。 –
@FrancisP這個問題不是那個問題的重複! –