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中的代码呢?有没有什么办法呢? 顶一下。。没环境。。希望能弄清楚 涉及到string的用字符数组或者字符指针代替吧?而且编写的dll最好是不用MFC等类库的,只用C语言的类库,不知道我说的对否?
页:
[1]