Getopt() langage C
Résolu
Bonjour,
Je n,arrive pas a lance l,afficheur doption suivant
while ((option = getopt (argc, argv, "u:p:t")) != -1)
{
switch (option)
{ case 'u':
username = optarg;
break;
case 'd':
password = optarg;
break;
case 't':
transfer_rate = optarg;
break;
exit(0);
}
}
--
merci davance.
C* -----> Either exist as you are or be as you look <---- C*
Je n,arrive pas a lance l,afficheur doption suivant
while ((option = getopt (argc, argv, "u:p:t")) != -1)
{
switch (option)
{ case 'u':
username = optarg;
break;
case 'd':
password = optarg;
break;
case 't':
transfer_rate = optarg;
break;
exit(0);
}
}
--
merci davance.
C* -----> Either exist as you are or be as you look <---- C*
Configuration: Linux Firefox 1.0.7
10 réponses
-
G regle le probleme merci
-
ContributeurJe ne vois aucune options -u arg ou -p arg ou -t arg
imprime argv[3] argv[4] -
personne pour repondre ?
plz je ramme depuis tout a lheure
-
j'ai oublie argc=1
mais bon je ne voie pas toujours pourquoi il ne rentre pas dans la boucle -
argv[1]=null
argv[2]=/etc/lesskey.bin
et donc? -
ContributeurQue contient argv:
printf("saba\n");
printf("argc=%d\nargv[1]=%s\nargv[2]=%s\n", argc, argv[1], argv[2]);
while ((option = getopt (argc, argv, "u:p:t")) != -1)
ps: argv[0] contient le nom du programme exécuté -
char *username;
char *password;
char *transfer_rate;
extern char *optarg;
int option;
printf("saba\n");
while ((option = getopt (argc, argv, "u:p:t")) != -1)
{
printf("nurcan\n");
switch (option)
{ case 'u':
username = optarg;
break;
case 'd':
password = optarg;
break;
case 't':
transfer_rate = optarg;
break;
}
exit(0);
}
Voila normalement si il rentre dans la boucle il doit m'affiche "nurcan" mais il ne le fait pas donc il ne rentre pas dans la boucle c'est ce que je n'arrive pas a comprendre pourquoi ???
Merci d'avance
-
Contributeuru p t sont dans le getopt, mais u d t dans le switch
l'exit après le break n'est jamais exécuté
exit
}
}
je verrai plutot
}
exit
}
ce code n'imprime rien, il faudrait voir la suite du code -
argv est bien défini comme un char ** ?
-
Pouet,
Et quelle est l'erreur ? ^^