65,210
社区成员
发帖
与我相关
我的任务
分享
void func1(int){ cout << "func1";};
void func2(int){ cout << "func2"};
void func3(int){
for(int i = 0; i < 10; ++i)
cout << "func3" << endl;
}
......
typedef void (*FuncPtr)(int);
int main(int argc, char* argv[]){
FunPtr funs[n];
funs[0] = &func1;
funs[1] = &func2;
funs[2] = &func3;
......//通过参数确定调用哪个参数
int index= 参数
int can = 要传递的函数参数
*funs[index](can);
}
int main(int argc, char* argv[])
{
/*读取参数*/
char* a,b,c;
for( i = 1; i < argc; i++ )
{
if(!strncmp(argv[i],"argv_1=",7)) //7是“argv_1=”的长度
{
a = argv[i] + 7; //+7 即 取后面字符串地址
}
else if(!strncmp(argv[i],"argv_2=",7))
{
b = argv[i] + 7;
}
else if (!strncmp(argv[i], "argv_3=", 7))
{
c = argv[i]+7;
}
else
{
cerr << "usage: yourprogram.exe argv_1=xx argv_2=xx argv_3=xx\n"; //否则输出用法并退出
exit(1);
}
}
//其它函数处理过程;
return 0;
}