怎么运行C语言的参数命令行程序,从命令行将参数传递到C程序

a87f0a16cb4595d5d2ce19ea15c14390.png

繁华开满天机

考虑使用getopt_long()。它允许任意组合的长短选项。#include #include #include /* Flag set by `--verbose'. */static int verbose_flag;intmain (int argc, char *argv[]){  while (1)    {      static struct option long_options[] =    {      /* This option set a flag. */      {"verbose", no_argument,       &verbose_flag, 1},      /* These options don't set a flag.         We distinguish them by their indices. */      {"blip",    no_argument,       0, 'b'},      {"slip",    no_argument,       0, 's'},      {0,         0,                 0,  0}    };      /* getopt_long stores the option index here. */      int option_index = 0;      int c = getopt_long (argc, argv, "bs",               long_options, &option_index);      /* Detect the end of the options. */      if (c == -1)    break;      switch (c)    {    case 0:      /* If this option set a flag, do nothing else now. */      if (long_options[option_index].flag != 0)        break;      printf ("option %s", long_options[option_index].name);      if (optarg)        printf (" with arg %s", optarg);      printf ("\n");      break;    case 'b':      puts ("option -b\n");      break;    case 's':      puts ("option -s\n");      break;    case '?':      /* getopt_long already printed an error message. */      break;    default:      abort ();    }    }  if (verbose_flag)    puts ("verbose flag is set");  /* Print any remaining command line arguments (not options). */  if (optind < argc)    {      printf ("non-option ARGV-elements: ");      while (optind < argc)    printf ("%s ", argv[optind++]);      putchar ('\n');    }  return 0;}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值