Giriş
Şu satırı dahil ederiz.
Örnek
Şöyle yaparız.
Şu satırı dahil ederiz.
#include <unistd.h>
Bu metod POSIX standardında yok. GNU extension metodu. geoptlong metodu getopt metodunun biraz daha gelişmiş hali.Örnek
Şöyle yaparız.
int c;
int option_index =0;
static struct option long_options[] = {
{"rdonly", optional_argument, 0, 'a'},
{"wronly", optional_argument, 0, 'b'},
{"command", optional_argument, 0, 'c'},
{"verbose", no_argument, 0, 'd'},
{0,0,0,0}
};
c=getopt_long(argc,argv, "+", long_options, &option_index);
Örnek
Şöyle yaparız
Şöyle yaparız. Eğer seçenek parse edilemezse '?' karakteri döndürülür.
Şöyle yaparız
static struct option const long_opts[] = {
{"help", no_argument, NULL, 'h'},
{"lower", no_argument, NULL, 'L'},
{"numeric", no_argument, NULL, 'N'},
{"quiet", no_argument, NULL, 'q'},
{"special", no_argument, NULL, 'S'},
{"upper", no_argument, NULL, 'U'},
{NULL, 0, NULL, 0}
};
int c;
while((c = getopt_long(argc, argv, "hLNqSU", long_opts, NULL)) != -1) {
switch(c) {
case 'h':
...
break;
case 'L':
...
break;
case 'N':
...
break;
case 'q':
...
break;
case 'S':
...
break;
case 'U':
...
break;
default:
usage(EXIT_FAILURE);
}
}
ÖrnekŞöyle yaparız. Eğer seçenek parse edilemezse '?' karakteri döndürülür.
int opt;
int optionIndex;
static struct option longOptions[] = {
{"help", no_argument, NULL, 'h'},
{"test", no_argument, NULL, 't'},
{0, 0, 0, 0}
};
while ((opt = getopt_long(argc, argv, "ht", longOptions, &optionIndex)) != -1) {
switch (opt) {
case 'h':
...
break;
case 't':
...
break;
case '?':
...
break;
default:
...
}
Hiç yorum yok:
Yorum Gönder