dll如何修改参数值?

缘中人 2002-12-19 12:32:42
1.定义
extern "C" int __declspec(dllexport) __stdcall hr(char *p);
int __stdcall hr(char *p)
{
p="孔双荣";
return 0;
}
2.调用
HINSTANCE DLLInst=NULL;
typedef int *dllfun(char *p);
dllfun *pfun=(dllfun *)GetProcAddress(DLLInst,"hr");
if(pfun)
{
char name[]="ksr";
pfun(name);
}

如何修改传入的参数NAME的值,用上面的方法不能修改,请指教!
...全文
127 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
缘中人 2002-12-19
  • 打赏
  • 举报
回复
Taiji02(太极)先生,能不能讲一下为什么不能修改
p="孔双荣";

mustang_zr 2002-12-19
  • 打赏
  • 举报
回复
不要意思 见笑 我的方法不对
同意Taiji02(太极)
Taiji02 2002-12-19
  • 打赏
  • 举报
回复
可能还是有问题,name的长度一定要足够。
Taiji02 2002-12-19
  • 打赏
  • 举报
回复
int __stdcall hr(char *p)
{
strcpy(p,"孔双荣");
return 0;
}
mustang_zr 2002-12-19
  • 打赏
  • 举报
回复
char name[]="ksr";有误!
这样声明name是常量指针
你在hr中对其进行了修改
p="孔双荣";当然不行
这样:char *name ="ksr";
缘中人 2002-12-19
  • 打赏
  • 举报
回复
谢谢!现在结分。
有时间讲一下为什么不能修改,好吗?
p="孔双荣";(不能改)
strcpy(p,"孔双荣");(能改)

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧