C#学习教程:将char指针从C#传递到c++函数问题是,我想从c#代码传递一个“指针”(带内存),以便我的c++应用程序可以将pchListSoftwares缓冲区复制到pchInstalledSoftwares。我不知道如何从C#端传递指针。本机c++代码(MyNativeC++DLL.dll)voidGetInstalledSoftwares(char*pchInstalledSoftwares){char*pchListSoftwares=NULL;..........pchListSoftwares=(char*)malloc(255);/*填充pchListSoftwares缓冲区的代码*/memcpy(pchInstalledSoftwares,pchListSoftwares,255);免费(pchListSoftwares);传递一个简单的“字符串”是行不通的...C#implements[DllImport("MyNativeC++DLL.dll")]staticvoidMain(string[]args){...............stringb="";GetInstalledSoftwares(0,b);MessageBox.Show(b.ToString());非常感谢表格中的任何帮助...尝试使用StringBuilder[DllImport("MyNativeC++DLL.dll")]privatestaticexternintGetInstalledSoftwares(StringBuilderpchInstalledSoftwares);staticvoidMain(string[]args){...................................StringBuilderb=newStringBuilder(255);GetInstalledSoftwares(0,b);消息框。显示(b.ToString());我的错误......在调用GetInstalledSoftwares时(0,b);删除0GetInstalledSoftwares(0,b);尝试将原型行更改为:privatestaticexternintGetInstalledSoftwares(refstringpchInstalledSoftwares);(通过引用发送字符串)。以上就是C#学习教程的全部内容:将char指针从C#传递给c++函数。代表立场,如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
