#include
#include
int stdErrOut(char *msg){
fprintf(stderr,"%s",msg);
}
int testArg(char *str,int argc,char *argv[]) {
int i;
for(i=0;i [--channel ]\n");
return 0;
break;
default:
if (-1 != (i=testArg("--channel",argc,argv)))
if(i < (argc-1) && 1 == sscanf(argv[i+1],"%d",&tmp)) {
dacSel = tmp;
args +=2;
}
else {
stdErrOut("Missing argument for option '--channel'.\n");
return 1;
break;
}
case 2:
if (-1 != (i=testArg("-h",argc,argv))) {
stdErrOut("Usage:\tdacOut [--channel ]\n");
stdErrOut("\t: DAC code, a integer in [0,4095]\n");
stdErrOut("\t: DAC channel, a number in {0,1}. (default 0)\n");
return 0;
break;
}
if (1 == sscanf(argv[1],"%d",&tmp)) {
dacSet = tmp;
args +=1;
}
else {
stdErrOut("DAC code must be specified.\n");
return 1;
break;
}
}
if (dacSet < 0 || dacSet > 4095) { stdErrOut("DAC code should be a integer in [0,4095].\n"); return 1;
}
if (dacSel < 0 || dacSel > 1) {
stdErrOut("DAC channel should be a number in {0,1}.\n");
return 1;
}
if (args != (argc-1)) {
stdErrOut("Bad arguments. ");
stdErrOut("Use -h to get full help.\n");
return 1;
}
}
一种简单的linux命令行解析方法
最新推荐文章于 2024-01-08 23:09:21 发布