Plusieuers arguments (optarg) avec getopt
qued
-
ching -
ching -
Bonjour,
Je suis en train de programmer un jeu de morpion, et pour cela, j'utilise getopt pour gerer les options données en paramètre. Voici le code actuel.
int main(int argc, char ** argv)
{
int c;
char * xvalue = NULL;
char * xvalue2 = NULL;
extern char *optarg;
while ( (c = getopt(argc , argv, "iax:o:e:rhv")) != -1){
switch (c) {
case 'i':
//Operation d'initialisation
break;
case 'a':
//Operation d'affichage
break;
case 'x':
xvalue = optarg;
printf("arg 1 : %s\n",xvalue);
//je passe au pointeur suivant
optarg++;
xvalue2 = optarg;
printf("arg 2 : %s\n",xvalue2);
break;
case 'o':
break;
case 'e':
break;
case 'r':
break;
case 'h':
break;
case 'v':
break;
default:
printf("Defaut \n");
break;
}
}
return 0;
}
Quand je rentre la commande ./morpion -x 8 7
Il m'affiche ca :
arg 1 :
8
arg 2 :
Voila, je ne vois pas trop comment faire.
Je suis en train de programmer un jeu de morpion, et pour cela, j'utilise getopt pour gerer les options données en paramètre. Voici le code actuel.
int main(int argc, char ** argv)
{
int c;
char * xvalue = NULL;
char * xvalue2 = NULL;
extern char *optarg;
while ( (c = getopt(argc , argv, "iax:o:e:rhv")) != -1){
switch (c) {
case 'i':
//Operation d'initialisation
break;
case 'a':
//Operation d'affichage
break;
case 'x':
xvalue = optarg;
printf("arg 1 : %s\n",xvalue);
//je passe au pointeur suivant
optarg++;
xvalue2 = optarg;
printf("arg 2 : %s\n",xvalue2);
break;
case 'o':
break;
case 'e':
break;
case 'r':
break;
case 'h':
break;
case 'v':
break;
default:
printf("Defaut \n");
break;
}
}
return 0;
}
Quand je rentre la commande ./morpion -x 8 7
Il m'affiche ca :
arg 1 :
8
arg 2 :
Voila, je ne vois pas trop comment faire.