C#调用DLL的问题

sjfujiang 2012-05-23 03:12:30
char* strParameters[4];
strParameters[0] = (char*)malloc(256);
strParameters[1] = (char*)malloc(256);
strcpy(strParameters[0],"F:\\abc\\");
strcpy(strParameters[1],"F:\\abc\\");
int nRet = m_InitConnect(strParameters,4);


以上是在C++中调用m_InitConnect DLL动态链接库中的m_InitConnect这个方法.
如果在C#中该如何写?

char* strParameters[4] 要转成什么?
...全文
140 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
stonespace 2012-05-23
  • 打赏
  • 举报
回复
不要ref,

int nRet = InitConnect(arrstr,n);


[Quote=引用 4 楼 的回复:]

string str = "F:\\abc\\";
string[] arrstr=new string[4];
arrstr[0] = str;
arrstr[1] = str;
int n = 4;
int nRet = InitConnect(ref arrst……
[/Quote]
bdsutx 2012-05-23
  • 打赏
  • 举报
回复
转成stringbuilder
定义的时候就是 stringbuilder aa=new stringbuilder();
wangchangming 2012-05-23
  • 打赏
  • 举报
回复
byte[]
WAN 2012-05-23
  • 打赏
  • 举报
回复
string[]是可以的,没有ref
int nRet = InitConnect(arrstr,n);
sjfujiang 2012-05-23
  • 打赏
  • 举报
回复
string str = "F:\\abc\\";
string[] arrstr=new string[4];
arrstr[0] = str;
arrstr[1] = str;
int n = 4;
int nRet = InitConnect(ref arrstr,n);
这样转的,但好像不太对.
sjfujiang 2012-05-23
  • 打赏
  • 举报
回复
string[] 貌似不行....
stonespace 2012-05-23
  • 打赏
  • 举报
回复
[DllImport("xxxx.dll", CharSet = CharSet.Ansi)]
public static extern int m_InitConnect(String[] strParameters, int nSize);
stonespace 2012-05-23
  • 打赏
  • 举报
回复
char* strParameters[4] 要转成string[],

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧