我在vb中调用vc的dll vc
---------------------------------
int sum(int a, int b)
string str(string s)
-------------------------------
调用sum的时候没问题 结果也能得到
调用str 的时候 返回值 是随机的乱码 哪位给写个 str 的例子供参考一下
---------------------------------
int sum(int a, int b)
string str(string s)
-------------------------------
调用sum的时候没问题 结果也能得到
调用str 的时候 返回值 是随机的乱码 哪位给写个 str 的例子供参考一下
private declare sub str lib "xxx.dll" (byval s as string,byval buf as string)dim sOut as string
sOut=space$(255)
str "hello",sOut
并且我在vc里直接 buf = "aaaaa";
但是得到的还是空值
dim n as longn = get_string(mystring)
msgbox left(mystring, n)
strcpy(buf,"aaaa");
----------------------
int __stdcall get_string(char * buf)
{
unsigned char digest[10] = "aaaaaaaaa";
buf = (char*)digest; return 10;
}vb
------------------------
Private Declare Function get_string Lib "xxx.dll" (ByVal buf As String) As LongDim mystring As String * 1024
Dim n As Longn = get_string(mystring)
MsgBox Left(mystring, n)
.......vc里面要
strcpy(buf,"aaaa");int __stdcall get_string(char * buf)
{
unsigned char digest[10] = "aaaaaaaaa";
//buf = (char*)digest;
strcpy(buf,digest);
return 10;
}
{
unsigned char digest[10] = "aaaaaaaaa";
for(int i=0;i<10;i++) buf[i]=digest[i];
return 10;
}