0

libcでgetoptを使用して1つのオプションの複数の引数を取得するにはどうすればよいですか?

./a.out -t 42 -n toto tititata-aアドレス

#include <unistd.h>                                                                                                                                                         
#include <stdio.h>
#include <stdlib.h>

int main(int ac, char **av)
{
  int opt;

  while ((opt = getopt(ac, av, "t:n:a:")) != -1) {

     switch (opt) {
        case 't':
          printf("time = %s\n", optarg);
          break;

        case 'n':
          /* HOW RETRIEVE HERE ALL OTHER NAME ?*/
          printf("name = %s\n", optarg);
          break;

        case 'a':
          printf("address = %s\n", optarg);
          break;

         default:
          fprintf(stderr, "Usage : %s [-t time] [-a name1 name2 ...] [-s address]", av[0]);
          return EXIT_FAILURE;
        }
    }
    return EXIT_SUCCESS;
}
4

1 に答える 1

0

引用符を使用してみてください:

./a.out -t 42 -n "toto titi tata" -a address
于 2012-06-06T15:39:13.207 に答える