<span id='hgaxz'></span>

    1. <acronym id='hgaxz'><em id='hgaxz'></em><td id='hgaxz'><div id='hgaxz'></div></td></acronym><address id='hgaxz'><big id='hgaxz'><big id='hgaxz'></big><legend id='hgaxz'></legend></big></address>

    2. <i id='hgaxz'><div id='hgaxz'><ins id='hgaxz'></ins></div></i><ins id='hgaxz'></ins>

      1. <tr id='hgaxz'><strong id='hgaxz'></strong><small id='hgaxz'></small><button id='hgaxz'></button><li id='hgaxz'><noscript id='hgaxz'><big id='hgaxz'></big><dt id='hgaxz'></dt></noscript></li></tr><ol id='hgaxz'><table id='hgaxz'><blockquote id='hgaxz'><tbody id='hgaxz'></tbody></blockquote></table></ol><u id='hgaxz'></u><kbd id='hgaxz'><kbd id='hgaxz'></kbd></kbd>
      2. <i id='hgaxz'></i>

          <code id='hgaxz'><strong id='hgaxz'></strong></code>

          <dl id='hgaxz'></dl>
          <fieldset id='hgaxz'></fieldset>

          用Getopt在Linux下获取命令行参数方法

          • 时间:
          • 浏览:8
          • 来源:124软件资讯网

            1、函数说明
             
              表头文件:#include
             
              函数声明:int getopt(int argc  , char * const argv[]  , const char *optstring);
             
              函数说明:getopt()用来剖析下令行参数  。参数argc和argv是由main()通报的参数个数和内容 。参数optstring 则代表欲处置惩罚的选项字符串 。此函数会返回在argv 中下一个的选项字母  ,此字母会对应参数optstring 中的字母  。若是选项字符串里的字母后接着冒号“:”  ,则表现另有相关的参数  ,全域变量optarg 即会指向此分外参数 。若是getopt()找不到切合的参数则会印堕落信息  ,并将全域变量optopt设为“  ?”字符 ,若是不希望getopt()印堕落信息 ,则只要将全域变opterr设为0即可 。
             
              选项的使用界说规则类似:
             
              ab:c::
             
              意思是:
             
              a 后没有冒号 ,表现没有可以参数
             
              b 后跟一个冒号  ,表现有一个须要的参数
             
              c 后跟两个冒号  ,表现有一个可选的参数
             
              长选项的界说相同  ,但用逗号支解  。
             
              返回值:若是找到切合的参数则返回此参数字母 ,若是参数不包罗在参数optstring 的选项字母则返回“ ?”字符  ,剖析竣事则返回-1.
             
              2、例子法式
             
              下面是一个使用getopt函数读取参数的例子法式  ,该法式支持 –p –s –b –c的参数  ,并将这些参数值读取后举行打印  。你可以凭据需要将这些代码稍作修改用于自己的法式中 。
             
              

            #include

            #include

            int main(int argc, char **argv)

            {

            int ch;

            opterr = 0;

            while( ( ch = getopt( argc, argv, "s:b:c:p:" ) ) != EOF )

            {

            switch(ch)

            {

            case 's':

            printf("s opt: %s\n", optarg);

            break;

            case 'b':

            printf("b opt: %s\n", optarg);

            break;

            case 'c':

            printf("c opt: %s\n", optarg);

            break;

            case 'p':

            printf("p opt: %s\n", optarg);

            break;

            case '?':

            printf( "illegal option: %c\n", ch );

            break;

            }

            }

            return 0;

            }