C - Command Mode



使用範例


#include <getopt.h>
struct option long_options[] = {
{ "help", 0, 0, 'h' },
{ "value", 1, 0, 'v' },
};
int c;
while ((c = getopt_long(argc, argv, "hv:", long_options, 0)) != -1) {
case 'h':
break;
case 'v':
if(!strcmp(optarg, "val")) {
val = atoi(argv[optind]);
break;
}


{ "help", 0, 0, 'h' }
        的 'h' 為 下列 while 的 case 值


getopt_long(argc, argv, "hv:", long_options, 0)
        其中 “hv:” 的 ":" 這裡代表的是,使用 -v 時後面要接參數


while 內可使用的參數為
        optarg:回傳參數後面帶的字串
        optind:回傳 optarg 在 argv[index] 中的 index 數值



參數也可下成 -v val2 val3 val4 -h
        optarg 指到的是 val2
        argv[optind] 即可指到 val2
        argv[optind+1] 即可指到 val3




沒有留言:

張貼留言