写命令+选项

我们用到的LINUX命令:list -l;

main函数:int main(int argc, char* argv[])
可以用int getopt(int argc,char * const argv[ ],const char * optstring);来解析main函数带入的选项,如:-l。

解析时:

    while ((c = getopt(argc, argv, "o:t:z:nr")) != -1) {//其中o:表示-o后面还有参数,参数放在 optarg全局变量中。n,r没有其他参数了。
        switch (c)
        {
        case 'o':
            opt_str = strdup( optarg);
            if(strncmp((const char*)opt_str, VERONA_SCIT_UPGRADE_STRING, strlen(VERONA_SCIT_UPGRADE_STRING)) == 0)
            {
            }
            break;
        case 't':
            tgt_dev = strdup(optarg);
            printf("t Not implemented\r\n");
            break;
        case 'z':
            compress_srting = strdup(optarg);
            if(strstr(compress_srting, "tarlzma"))
                ;//CompressType = TYPE_TAR_LZMA;
            printf("z Not implemented\r\n");
            break;
        case 'n': // image file in Nand
            printf("[ImageFileInNand mode]\r\n");
            isImageFileInNand = 1;
            break;
        case 'r':
            isreboot = 0;
            break;
        default:
            ;//usage(progname);
        }

    }

    if(optind < argc)
    {
         file_path = argv[optind];//optind等于下一个argv指针。
    }

optarg——指向当前选项参数(如果有)的 指针。 optind——再次调用 getopt() 时的下一个 argv 指针的索引。 optopt——最后一个未知选项。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值