51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3216|回复: 2
打印 上一主题 下一主题

[求助] DLL文件中返回的string如何接收和处理?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-6-24 16:26:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我试了一下,int类型可以在ansi C 的环境下使用,但是string 类型不行

比如在dll文件中
extern "C" __declspec(dllexport) LPSTR WINAPI ReturnString()
{
return "hello,world";
}

在ANSI C环境下,scripts如下:

int a;
int b;
char *str;

lr_load_dll("WINDllDemo.dll");

a=returnStr();

fscanf(a,"%s",&str);

检查语法可以通过,我用的该IDE是编译型,在执行 fscanf(a,"%s",&str);时失败

但是我想既然 a=returnStr();可以通过,说明返回的是一个数据,而不是一个字符,我本以为它是一个地址,这样我就可以操作了。

但是实际看看a得到的值是23418172,这个数怎么看都不像是一个地址。

那么DLL中的字符串类型如何返回ANSI C中的代码呢?有没有什么办法呢?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    奋斗
    2015-6-25 18:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    2#
    发表于 2008-6-27 11:13:54 | 只看该作者
    顶一下。。没环境。。希望能弄清楚
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2008-6-27 11:35:58 | 只看该作者
    涉及到string的用字符数组或者字符指针代替吧?  而且编写的dll最好是不用MFC等类库的,只用C语言的类库,不知道我说的对否?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-9-20 22:47 , Processed in 0.074483 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表