kursk 发表于 2008-6-24 16:26:57

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:54

顶一下。。没环境。。希望能弄清楚

zibeike 发表于 2008-6-27 11:35:58

涉及到string的用字符数组或者字符指针代替吧?而且编写的dll最好是不用MFC等类库的,只用C语言的类库,不知道我说的对否?
页: [1]
查看完整版本: DLL文件中返回的string如何接收和处理?