C#调用VC的DLL,char*如何传递声明及传递参数
C#调用VC的DLL,char*如何传递声明及传递参数我用stringbuilder没有通过,发现会截断数据,当字符串处理的。
不知道大家怎么用的? --------------------编程问答-------------------- 引用的string就可以
string str="";
void mothed(ref str); --------------------编程问答-------------------- string也是字符串,遇到0会截断的呀 --------------------编程问答-------------------- char* 对c++的函数是输入参数还是输出参数? --------------------编程问答-------------------- 输出参数的话stringbuilder吧,输入的话string也可以.你要可以包含\0,要不用byte[]吧.... --------------------编程问答-------------------- 就用char[]就可以了
声明dll的方式还是在方法名上面写[dllimport]声明一下dll的名字就可以 --------------------编程问答-------------------- C#的调用:
#region DllImport
[DllImport("Base64Dll.dll", CharSet = CharSet.Ansi, EntryPoint = "#100")]
public static extern Int32 Encode(string Inbuf, StringBuilder Outbuf, int nInLen, int nOutLen);
[DllImport("Base64Dll.dll", CharSet = CharSet.Ansi, EntryPoint = "#101")]
public static extern Int32 Decode(string Inbuf, StringBuilder Outbuf, int nInLen, int nOutLen);
#endregion DllImport
VC中函数原型:
int Decode(char *Inbuf,char *Outbuf,int nInLen,int nOutLen);
int Encode(char *Inbuf,char *Outbuf,int nInLen,int nOutLen);
输出参数用StringBuilder,输入用string --------------------编程问答-------------------- 你试试
string str="";
void mothed(ref @str); --------------------编程问答-------------------- vc没用过!!
关注!!
补充:.NET技术 , C#