动态连结库调用char * 返回空的解决办法

简介:
请看这个代码:
extern "C" __declspec(dllexport) char * __stdcall getStr(char * ddd) 
{
char * ddaa="wwwwww"; return ddaa;
}
这样写,编译没有问题,但是,VB调用的时候返回的是空的。 

VB代码如下: 
Private Declare Function getStr Lib "dll2.dll" (ByVal variable As String) As String 
Private Sub Command2_Click()
MsgBox getStr("sadfsad")
End Sub

用这个试了一下: 
char * ddaa="wwwwww"; 
可能这句有问题,试试先为ddaa new一个空间,再给它赋值.

代码如下:
extern "C" __declspec(dllexport) char * __stdcall getStr(char * ddd)

char * ddaa=new char[6]; 
ddaa="wwwwww";
return ddaa;
}

还是不行!再试,用_tcscpy()赋值。
ddaa="wwwwww";
改为_tcscpy(ddaa, "wwwwww");
马上试一下。

成功!





 本文转自 useway 51CTO博客,原文链接:http://blog.51cto.com/useway/149164,如需转载请自行联系原作者


相关文章
|
网络协议 C# C++
关于 C#调用c库,将C#的byte[]传入C库的方法和将C库的char*向上传入C#的回调函数byte[] 的方法
关于 C#调用c库,将C#的byte[]传入C库的方法和将C库的char*向上传入C#的回调函数byte[] 的方法
关于 C#调用c库,将C#的byte[]传入C库的方法和将C库的char*向上传入C#的回调函数byte[] 的方法
|
8月前
|
存储 关系型数据库 MySQL
面试时被这样一个问:”存储MD5值应该用VARCHAR还是用CHAR?
一个5年工作经验的小伙伴,在面试的时候被这样一个问题。说”存储MD5值应该用VARCHAR还是用CHAR“,他一时间不只如何选择,感觉用VARCHAR也可以,用CHAR也行。希望我来帮忙分析一下。
73 0
|
6天前
|
存储 关系型数据库 MySQL
MySQL字段的字符类型该如何选择?千万数据下varchar和char性能竟然相差30%🚀
本篇文章来讨论MySQL字段的字符类型选择并深入实践char与varchar类型的区别以及在千万数据下的性能测试
MySQL字段的字符类型该如何选择?千万数据下varchar和char性能竟然相差30%🚀
|
1月前
|
存储 数据库
5. CHAR和VARCHAR的区别?
`CHAR`和`VARCHAR`在数据库中有所不同:`CHAR`长度固定,用空格填充,存储效率高,英文占1字节,汉字占2字节;而`VARCHAR`长度可变,节省空间,英文和汉字都占2字节。
16 0
|
1月前
|
存储 SQL NoSQL
面试题:char和varchar的区别?
字节面试题:char和varchar的区别?
28 0
|
2月前
|
存储 机器学习/深度学习 关系型数据库
mysql中char和varchar的区别
mysql中char和varchar的区别
36 1
|
8月前
|
存储 SQL 数据库
char、varchar、nvarchar、text的区别
char、varchar、nvarchar、text的区别
36 0
|
10月前
|
存储
char和varchar的区别(秒懂!)
char和varchar的区别(秒懂!)
88 0
|
5月前
|
存储 关系型数据库 MySQL
MySQL之varchar和char的区别
MySQL之varchar和char的区别
18 0
|
5月前
|
存储 关系型数据库 MySQL
MySQL 总结char与varchar的区别
MySQL 总结char与varchar的区别
30 0