请大神帮解释下这段代码,关于argc,argv方面击
请大神帮解释下这段代码,关于argc,argv方面打
void getparm(int argc,char *const argv[],int *port,int *slotnum)
{
char c;
std::cout<<"argc:"<<argc<<"-----------argv"<<argv<<" "<<port<<" "<<slotnum<<"\n";
*port = 10728;
*slotnum =32;//defalut
struct option my[]=
{
{"port",1,0,'p'},
{"num",1,0,'n'}
};
while((c=getopt_long(argc,argv,"p:n:dft",my,NULL))!=EOF)
{
switch(c)
{
case 'p':
*port = atoi(optarg);
break;
case 'n':
*slotnum = atoi(optarg);
break;
case 'd':
g_bDebug = true; //show the running info
break;
case 'f':
g_bFileRec = true;//record slot data
// std::cout<<"FLAG OPEN\n";
break;
case 't':
g_bTimeRec = true;
break; //time show;
default:
if(g_bDebug)
std::cout<<"parmer error"<<std::endl;
break;
}
}
}
主要是struct option,看不懂下面的东西了,,网上看了些资料还是不明白,,,,谢谢啦
------解决思路----------------------
定义结构体数组对象my,并初始化my[0]={"port",1,0,'p'}, my[1]={"num",1,0,'n'}
------解决思路----------------------
定义结构体数组对象my,并初始化my[0]={"port",1,0,'p'}, my[1]={"num",1,0,'n'}
------解决思路----------------------
http://blog.****.net/cashey1991/article/details/7942809
------解决思路----------------------
http://baike.baidu.com/link?url=G_qUdfcJI3S5VnKkUr9YhuIxSseoPvtQfI19cgDnSXKEj78iBmhJiseQeW3_V7-z6aITeddGzysx9b5u33NnG_
------解决思路----------------------
无非就是一个结构体而已,实在看不懂的话,分块拆分以下就好了
------解决思路----------------------
传说中linux有个man命令,久而久之,网上就出现了很多翻译过来的高手,不明白就到linux下
输入: man getopt_long
------解决思路----------------------
void getparm(int argc,char *const argv[],int *port,int *slotnum)
{
char c;
std::cout<<"argc:"<<argc<<"-----------argv"<<argv<<" "<<port<<" "<<slotnum<<"\n";
*port = 10728;
*slotnum =32;//defalut
struct option my[]=
{
{"port",1,0,'p'},
{"num",1,0,'n'}
};
while((c=getopt_long(argc,argv,"p:n:dft",my,NULL))!=EOF)
{
switch(c)
{
case 'p':
*port = atoi(optarg);
break;
case 'n':
*slotnum = atoi(optarg);
break;
case 'd':
g_bDebug = true; //show the running info
break;
case 'f':
g_bFileRec = true;//record slot data
// std::cout<<"FLAG OPEN\n";
break;
case 't':
g_bTimeRec = true;
break; //time show;
default:
if(g_bDebug)
std::cout<<"parmer error"<<std::endl;
break;
}
}
}
主要是struct option,看不懂下面的东西了,,网上看了些资料还是不明白,,,,谢谢啦
------解决思路----------------------
struct option my[]=
{
{"port",1,0,'p'},
{"num",1,0,'n'}
};
定义结构体数组对象my,并初始化my[0]={"port",1,0,'p'}, my[1]={"num",1,0,'n'}
------解决思路----------------------
struct option my[]=
{
{"port",1,0,'p'},
{"num",1,0,'n'}
};
定义结构体数组对象my,并初始化my[0]={"port",1,0,'p'}, my[1]={"num",1,0,'n'}
------解决思路----------------------
http://blog.****.net/cashey1991/article/details/7942809
------解决思路----------------------
http://baike.baidu.com/link?url=G_qUdfcJI3S5VnKkUr9YhuIxSseoPvtQfI19cgDnSXKEj78iBmhJiseQeW3_V7-z6aITeddGzysx9b5u33NnG_
------解决思路----------------------
无非就是一个结构体而已,实在看不懂的话,分块拆分以下就好了
------解决思路----------------------
传说中linux有个man命令,久而久之,网上就出现了很多翻译过来的高手,不明白就到linux下
输入: man getopt_long
------解决思路----------------------