c语言调用dll里的命令并输出
答案:3 悬赏:60 手机版
解决时间 2021-03-28 02:07
- 提问者网友:骨子里的高雅
- 2021-03-27 20:58
c语言调用dll里的命令并输出
最佳答案
- 五星知识达人网友:十年萤火照君眠
- 2021-03-27 21:29
根据我的猜测,有两种情况
1.如果 void GetNum(char* s);是把输入的字符储存在 *s中的话:
#include
#include
#include
typedef void (*MYPROC)(char*);
void main(){
HINSTANCE LibHandle;
MYPROC ProcAdd;
char ch;
char sysbuf[] = "GetNum";
LibHandle = LoadLibrary("GetNum.dll");
ProcAdd = (MYPROC)GetProcAddress(
LibHandle, sysbuf);
ProcAdd(&ch);
printf("%c
",ch);
}
2.如果你的GetNum是
int GetNum(char* s)
{
int i=0,ans=0;
while(s[i]>='0'&&s[i]<='9')
{
ans=s[i]-'0'+ans*10;
}
return ans;
}
#include
#include
#include
typedef int (*MYPROC)(char*);
void main(){
HINSTANCE LibHandle;
MYPROC ProcAdd;
char s[100];
char sysbuf[] = "GetNum";
LibHandle = LoadLibrary("GetNum.dll");
ProcAdd = (MYPROC)GetProcAddress(
LibHandle, sysbuf);
scanf("%s",s);
printf("%d
", ProcAdd(&s) );
}
1.如果 void GetNum(char* s);是把输入的字符储存在 *s中的话:
#include
#include
#include
typedef void (*MYPROC)(char*);
void main(){
HINSTANCE LibHandle;
MYPROC ProcAdd;
char ch;
char sysbuf[] = "GetNum";
LibHandle = LoadLibrary("GetNum.dll");
ProcAdd = (MYPROC)GetProcAddress(
LibHandle, sysbuf);
ProcAdd(&ch);
printf("%c
",ch);
}
2.如果你的GetNum是
int GetNum(char* s)
{
int i=0,ans=0;
while(s[i]>='0'&&s[i]<='9')
{
ans=s[i]-'0'+ans*10;
}
return ans;
}
#include
#include
#include
typedef int (*MYPROC)(char*);
void main(){
HINSTANCE LibHandle;
MYPROC ProcAdd;
char s[100];
char sysbuf[] = "GetNum";
LibHandle = LoadLibrary("GetNum.dll");
ProcAdd = (MYPROC)GetProcAddress(
LibHandle, sysbuf);
scanf("%s",s);
printf("%d
", ProcAdd(&s) );
}
全部回答
- 1楼网友:胯下狙击手
- 2021-03-27 23:06
(*ProcAdd)("string");
函数指针的一个应用而已追问都没有输出追答你知道 函数GetNum是干嘛用的?
为什么要有输出呢?追问函数GetNum得到一个数字,我想输出它追答typedef void (*MYPROC)(char*);
改成typedef int (*MYPROC)(char*);
int x=(*ProcAdd)(参数);
printf("%d",x);
我100%肯定,上述代码不是你自己写的追问是的,改成c++版本要怎样改追答C跟C++有区别吗?
函数指针的一个应用而已追问都没有输出追答你知道 函数GetNum是干嘛用的?
为什么要有输出呢?追问函数GetNum得到一个数字,我想输出它追答typedef void (*MYPROC)(char*);
改成typedef int (*MYPROC)(char*);
int x=(*ProcAdd)(参数);
printf("%d",x);
我100%肯定,上述代码不是你自己写的追问是的,改成c++版本要怎样改追答C跟C++有区别吗?
- 2楼网友:七十二街
- 2021-03-27 21:45
GetNum.dll只是一个链接库,,你只能调用接口函数。看来你还不懂怎么调用动态链接库
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯