热门 购物 团购 理财 文学 人才 体育 汽车 游戏 软件 军事 音乐 视频 媒体 论坛 博客 银行 交友 综合
一起购 唯品会 梦芭莎 趣玩网 凡客诚品 麦考林 乐淘鞋网 弗克尚品 绿盒子 俏物悄语 新蛋网 当当网 玛萨玛索
拉手网 糯米网 爱帮团 聚划算 58团购 美团网 QQ团购 大众点评团 窝窝团 美淘网 满座网 团宝网 饭统饭团
起点网 榕树下 小说阅读 潇湘书院 红袖添香 幻剑书盟 新浪游戏 太平洋游戏 163邮箱 中国游戏 游戏中国 霏凡软件 铁血军事
访问本站赠送红包啦!凡在支付宝搜索数字口令 528131323 都将获得红包,天天搜索此口令天天得红包^_^
Health Sitology Family Finance Appliances Shopping Clothing Education Legal Rituals Beauty Property Travel Pet Medical Cyclopedia History Military Computers Sports Job Anecdote Geographic Mixed Entertain Literature Emotion Agriculture
/**
 * 任何人任何机构皆可用于任何项目,此软件免费无需书面授权
 * 在软件和软件的所有副本中都必须包含版权声明和软件相关注解
 *
 * 模块: getopt.c
 * 简述: 分析传进来的参数
 * 作者: woods zhang  ->  hoojar@163.com -> http://www.hecart.com/
 * 版权: 2006-2018, 张树林 拥有此源码所有版权 (MIT许可协议)
 * Copyright 2006-2018, Woods Zhang All Rights Reserved (The MIT License)
 */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <getopt.h>

/**
 * 打印出使用指南
 */
void print_usage(const char *pname)
{
    printf("Usage: %s [OPTION]... ", pname);
    printf("IM SERVER FOR CHAT.  Without OPTION, same as -h. ");
    printf("-a, --addr        server bind addr ");
    printf("-P, --port        server bind prot ");
    printf("-h, --dbhost      connect mysql host ");
    printf("-u, --dbuser      connect mysql user ");
    printf("-p, --dbpkey      connect mysql password ");
    printf("-n, --dbname      connect mysql database name ");
    printf("-v, --version     print the version ");
    printf("-h, --help        display this help and exit ");
}

int main(int argc, char **argv)
{
    if (argc == 1)
    {
        print_usage(argv[0]);
        exit(EXIT_FAILURE);
    }

    int opt_cmd = 0;//参数选项对就的指令编号
    int opt_index = 0;//指向的变量将记录当前找到参数符合long_opts里的第几个元素

    /**
    optstring: 表示短选项字符串。
    形式如“a:b::cd:“,分别表示程序支持的命令行短选项有-a、-b、-c、-d,冒号含义如下:
    (1)只有一个字符不带冒号 只表示选项, 如:-c
    (2)一个字符后接一个冒号 表示选项后面带一个参数,如:-a 100但-a=100出错
    (3)一个字符后接两个冒号 表示选项后面带一个可选参数,即参数可有可无,如果带参数则选项与参数直接不能有空格形式应该如:-b200
    */
    const char opt_str[] = "a:p:h:u:p:n:vH";

    /**
    no_argument(或者是0)时参数后面不跟参数值:--参数
    required_argument(或者是1)时参数输入格式为:--参数 值 或者 --参数=值
    optional_argument(或者是2)时参数输入格式只能为:--参数=值
    */
    static struct option long_opts[] =
    {
        {"addr", required_argument, NULL, 'a'},
        {"port", required_argument, NULL, 'P'},
        {"dbhost", required_argument, NULL, 'h'},
        {"dbuser", required_argument, NULL, 'u'},
        {"dbpkey", required_argument, NULL, 'p'},
        {"dbname", required_argument, NULL, 'n'},
        {"version", no_argument, NULL, 'v'},
        {"help", no_argument, NULL, 'H'},
        {NULL, 0, NULL, 0}//long_opts的最后一个元素必须是全0填充否则会报段错误
    };

    /**
     * 循环分析参数
     */
    while ((opt_cmd = getopt_long(argc, argv, opt_str, long_opts, &opt_index)) != -1)
    {
        switch (opt_cmd)
        {
            case 0:
                printf("NO DATA ");
                break;
            case 'a':
                printf("server addr:%s ", optarg);
                break;
            case 'P':
                printf("server port:%s ", optarg);
                break;
            case 'h':
                printf("mysql host:%s ", optarg);
                break;
            case 'u':
                printf("mysql user:%s ", optarg);
                break;
            case 'p':
                printf("mysql password:%s ", optarg);
                break;
            case 'n':
                printf("mysql dbname:%s ", optarg);
                break;
            case 'v':
                printf("Version: 0.0.1 ");
                return EXIT_FAILURE;
            case 'H':
            default:
                print_usage(argv[0]);
                return EXIT_FAILURE;

        }
    }

    printf("Test get opt long functions ");
    return EXIT_SUCCESS;
}
Reply content :
Photo link :
在博研科技2006年1月8日在深圳山水时尚酒店举行的深圳商友峰会上,深圳竞争力科技总裁电子商务博士冯英健就中国2006年网络营销的发展动向做了九项预测,其中有三项和搜索引擎营…  Details
/** * 任何人任何机构皆可用于任何项目,此软件免费无需书面授权 * 在软件和软件的所有副本中都必须包含版权声明和软件相关注解 * * 模块: getopt.c * 简述: 分析传进来…  Details
网站运营探讨俱乐部活动推广实例背景介绍: 讨论内容:“赛维拉”杯―营商电动车网论坛优秀版主及会员评选活动推广方式 受众人群:月收入4000以下,男女比例基本持平,老人也…  Details
哈士奇犬优点分析 1.漂亮 哈士奇最大的优点莫过于它漂亮而又冷酷的外型,几乎每个见过它的人,都会发自内心的喜爱上它,也许是人类对狼的一种虏获性心理吧,嗨,谁叫哈…  Details
网站加盟,是网站回笼资金最快的一种方法,但加盟的网站都能赚钱吗?大多数加盟的个人都是一时兴起,没有想好加盟后该怎样运作?匆忙加入。导致把加盟费和服务费给浪费了。…  Details
国内著名的电子商务公司阿里巴巴于日前收购了雅虎中国分公司,同时雅虎出资10亿美元购买阿里巴巴40%的股票,这成为我国互联网业迄今最大的一笔并购交易。有分析认为,这次…  Details
物理隔离功能以及实现技术分析 [多图] 一、物理隔离网闸的定位 物理隔离技术,不是要替代防火墙,入侵检测,漏洞扫描和防病毒系统,相反,它是用户“深度防御”的安全策略的另外一…  Details
卡卡西和写轮眼的分析 写轮眼,宇智波家族独有的“血迹界限”,是上天给予忍者特别的礼物。而卡卡西打破了这一点,没有宇智波家族的遗传因子,通过移植的方法使得自己的左眼…  Details
一、血型的分布血型随着地理环境的变化,在分布上显示出较大的差异。欧美国家以O型血居多,尤其是美国,O型占绝大多数。进入亚洲以后,随着逐渐东移,B型血的数量渐呈上升趋…  Details
做小主题网站有没有搞头?能不能做大?怎么去做大?价值怎么体现?不少做网站的朋友,都有此之困惑。我也一样,徘徊在这个问题很久拿一个例子说开去 周公解梦 www.zhougongjieme…  Details