Posez votre question Signaler

Getopt() langage C [Résolu]

LaZo61 53Messages postés 1 février 2007Date d'inscription - Dernière réponse le 7 mai 2007 à 14:23
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);
}
}
Lire la suite 

Getopt() langage C »

Suggestions
11 réponses
Réponse
+1
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
Pouet,

Et quelle est l'erreur ? ^^
LaZo61 - 4 mai 2007 à 16:48
y a pas d'erreur il n'affiche rien il neglige cette fonction :(
Ajouter un commentaire
Réponse
+0
moins plus
argv est bien défini comme un char ** ?
Ajouter un commentaire
Réponse
+0
moins plus
u 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
Ajouter un commentaire
Réponse
+0
moins plus
Que 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é
Ajouter un commentaire
Réponse
+0
moins plus
argv[1]=null
argv[2]=/etc/lesskey.bin


et donc?
Ajouter un commentaire
Réponse
+0
moins plus
j'ai oublie argc=1

mais bon je ne voie pas toujours pourquoi il ne rentre pas dans la boucle
Ajouter un commentaire
Réponse
+0
moins plus
personne pour repondre ?
plz je ramme depuis tout a lheure
Ajouter un commentaire
Réponse
+0
moins plus
Je ne vois aucune options -u arg ou -p arg ou -t arg
imprime argv[3] argv[4]
Ajouter un commentaire
Réponse
+0
moins plus
G regle le probleme merci
Ajouter un commentaire
Ce document intitulé « getopt() langage C » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Windows 8 - À quoi s'attendre ?