zoukankan      html  css  js  c++  java
  • getopt()和getopt_long()用法

    参考链接:

    http://home.eeworld.com.cn/home.php?mod=space&do=blog&id=43897&uid=101752

     http://blog.csdn.net/cashey1991/article/details/7942809

    如果在LINUX环境下面你想做与用户交互的程序开发的话,这个函数我想会对你有很大的帮助!~

    getopt用法

    有关系统调用getopt:
    声明:
             #include <unistd.h>
             int getopt(int argc, char *const argv[], const char *optstring);

             extern char *optarg;
             extern int optind, opterr, optopt;

    使用方法:在while循环中反复调用,直到它返回-1。每当找到一个有效的选项字母,它就返回这个字母。如果选项有参数,就设置optarg指向这个参数。
    当程序运行时,getopt()函数会设置控制错误处理的几个变量:
    char *optarg ──如果选项接受参数的话,那么optarg就是选项参数。
    int optind──argv的当前索引,当while循环结束的时候,剩下的操作数在argv[optind]到argv[argc-1]中能找到。
    int opterr──当这个变量非零(默认非零)的时候,getopt()函数为"无效选项”和“缺少选项参数”这两种错误情况输出它自己的错误消息。可以在调用getopt()之前设置opterr为0,强制getopt()在发现错误时不输出任何消息。
    int optopt──当发现无效选项的进修,getopt()函数或者返回'?'字符,或者返回字符':'字符,并且optopt包含了所发现的无效选项字符。

    表头文件:#include <unistd.h>   
        
        函数声明:int getopt(int argc,char     *const argv[],const char *optstring);   
        函数说明:getopt()用来分析命令行参数。参数argc和argv是由main()传递的参数个数和内容。参数optstring     则代表欲处理的选项字符串。此函数会返回在argv     中下一个的选项字母,此字母会对应参数optstring     中的字母。如果选项字符串里的字母后接着冒号“:”,则表示还有相关的参数,全域变量optarg     即会指向此额外参数。如果getopt()找不到符合的参数则会印出错信息,并将全域变量optopt设为“?”字符,如果不希望getopt()印出错信息,则只要将全域变量opterr设为0即可。   
        
     返回值:如果找到符合的参数则返回此参数字母,如果参数不包含在参数optstring的选项字母则返回“?”字符,分析结束则返回-1。

  • 相关阅读:
    VS配置C++依赖包
    BNP Paribas Cardif Claims Management
    【Weiss】【第04章】AVL树例程
    【Weiss】【第04章】二叉搜索树例程
    【Weiss】【第03章】增补附注
    【Weiss】【第03章】练习3.26:双端队列
    【Weiss】【第03章】练习3.25:数组模拟队列
    【Weiss】【第03章】练习3.22、3.23、3.24:无代码题,栈的思考题
    【Weiss】【第03章】练习3.21:单数组模拟双栈
    javaweb学习(十)—— HttpServletRequest对象(一)
  • 原文地址:https://www.cnblogs.com/tingjie-word/p/6083762.html
Copyright © 2011-2022 走看看