`
61party
  • 浏览: 1136101 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

动态连结库调用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");
马上试一下。
成功!
分享到:
评论

相关推荐

    C++期末考试题借鉴.pdf

    当通过对象指针调用虚函数时,会根据实际对象的类型动态决定调用哪个版本的函数。 ### 二、多选题 #### 1. 在 C 语言中 ,每个变量必须在使用前进行类型说明或定义,这样可以() - **选项**: - (A) 为变量赋初值 ...

    C++期末考试题宣贯.pdf

    - **D 、派生类名**:通过派生类名直接调用成员函数不会触发动态绑定。 **正确答案**:A ### 二、多选题 #### 1. 在 C 语言中 ,每个变量必须在使用前进行类型说明或定义,这样可以(). **选项解析**: - **(A)为...

    C++期末考试题资料.pdf

    - **解析**:虚函数的动态绑定是通过基类的指针或者引用调用时发生的。 ### 二、多选题 #### 1. 在C语言中,每个变量必须在使用前进行类型说明或定义,这样可以()。 - **选项**: - (A) 为变量赋初值 - (B) 规定该...

    P2P视频技术源码(VC)

    这一数据结构不是在有客户请求时动态分配的, 而是在最开始初始化时就已经分配 好的, 当有新客户请求到来时, 服务器搜索这一预先分配好的这些Session, 发现其中 有空闲则使用, 如果没有空闲就报告错误. 对于TS和CP(SP...

    P2P视频播放器 详细制作实例

    这一数据结构不是在有客户请求时动态分配的, 而是在最开始初始化时就已经分配 好的, 当有新客户请求到来时, 服务器搜索这一预先分配好的这些Session, 发现其中 有空闲则使用, 如果没有空闲就报告错误. 对于TS和CP...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    varchar2 1~4000字节 可变长度字符串,与CHAR类型相比,使用VARCHAR2可以节省磁盘空间,但查询效率没有char类型高 数值类型 Number(m,n) m(1~38) n(-84~127) 可以存储正数、负数、零、定点数和精度为38位的浮点数...

Global site tag (gtag.js) - Google Analytics