如何在c中使用getopt而不管位置如何

时间:2015-10-01 00:32:36

标签: c getopt

我遇到一些麻烦,让get选择识别标志,而不管它在输入中的位置是什么。我的程序接受4个输入作为程序运行的参数。

这是我的代码

int a= strtol(argv[1],NULL,10);
int b = strtol(argv[2],NULL,10);
double c = strtol(argv[3],NULL,10);
double  d = strtol(argv[4],NULL,10);

所以例如我会通过调用./test 5 5 5 5来运行我的程序 但是我需要程序无论位置如何都能识别它,然后根据它所在的位置设置变量。目前我正试图弄清楚何时传入-p(数字)。所以例如./test 5 5 5 5 -p5或./test p 5 5 5 5 5它将识别p旁边的5最多1个空格并存储该号码

我现在拥有的getopt如下

int i ;
int j = 0;
while ( (opt = getopt(argc,argv, "p:") ) != 1){
      switch(opt){
           case 'p':
               cycles = (int) strtol ( optarg, Null,10);

0 个答案:

没有答案
相关问题