51Testing软件测试论坛

标题: DLL文件中返回的string如何接收和处理? [打印本页]

作者: kursk    时间: 2008-6-24 16:26
标题: DLL文件中返回的string如何接收和处理?
我试了一下,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中的代码呢?有没有什么办法呢?
作者: qiguojie    时间: 2008-6-27 11:13
顶一下。。没环境。。希望能弄清楚
作者: zibeike    时间: 2008-6-27 11:35
涉及到string的用字符数组或者字符指针代替吧?  而且编写的dll最好是不用MFC等类库的,只用C语言的类库,不知道我说的对否?




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2