Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
5173 connectés 

  FORUM HardWare.fr
  Programmation
  C

  getopt problem

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

getopt problem

n°1020595
xiluoc
un pc pour les unirs ....
Posté le 22-03-2005 à 03:17:06  profilanswer
 

:hello: ,
 
le program doit se lancer comme ca :
./sftp [servename] -l -p bla.cpp
Getop me parrait donc approprie, helas [servername] bloque tout.
 

Code :
  1. while ((param = getopt (argc, argv, "lp:r:g:b:d:" )) != EOF) {
  2.      switch (param) {
  3.         case 'l': dir(send, receive);  break;
  4.         defaultbreak;
  5.       }
  6.    }
  7.    //argument without parameter
  8.        if (optind < argc) {
  9.         printf ("non-option ARGV-elements: " );
  10.        while (optind < argc)
  11.         printf ("%s ", argv[optind++]);
  12.       printf ("\n" );
  13.   }


 
il atterit dans non-option ARGV-elements et du coup ne passe pas dans la premiere boucle.
 
comment remedier a ce problem, en lui disant par example d inclure le premier argument [servername] dans la boucle :/
 
merci
 

mood
Publicité
Posté le 22-03-2005 à 03:17:06  profilanswer
 

n°1020597
matafan
Posté le 22-03-2005 à 04:21:03  profilanswer
 

En principe on ne fait pas de traitement dans la boucle getopt, parce que ça ne permet pas de gérer correctement les cas d'erreur (par exemple si l'utilisateur entre un flag non supporté après le -l). Dans ton getopt, contente toi de positionner des flags (l_flag = 1...), et deplace tes traitements (appel à dir...) après le getopt et la lecture des "non-option arguments".

n°1020600
xiluoc
un pc pour les unirs ....
Posté le 22-03-2005 à 05:45:26  profilanswer
 

Pour les flags tu veus dire un truc genre si -l
l_flag = 1, et ensuite je fait un switch (l_flag).
ok, mais il nexecute toujours pas le -l et me sort direct  
 
non-option ARGV-elements: pompeii -l
:/
comment lui dire de regardez qu apres le premier argument

n°1020610
0x90
Posté le 22-03-2005 à 07:47:00  profilanswer
 

argp est bien pour gérer les options, et je pense que ca sera assez facile a utiliser pour ton cas. ( ensuite les 1001 pour et contre de son utilisation par rapport a getopt et vice/versa je les connais pas, donc dslé si je provoque une crise cardiaque chez un expert :/ )

n°1020676
xiluoc
un pc pour les unirs ....
Posté le 22-03-2005 à 09:59:48  profilanswer
 

:/
solaris ne veus pas entendre parler de iclude <argp.h>
si seulement getopt ne tenez pas compte du premier argument, une solution est d utilile les long-opt, en fesant passer l argument1 pour une option mais deja est ce que ca marchera en dynamique je ne pense pas.
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  getopt problem

 

Sujets relatifs
Problem de reponse provenant d un socket (timing?)[c#] Problem: affichage d'une progressBar
[newbie]problem pour l'execution des applet[JSP] Problem connexion à Mysql
Problem pour afficher fenêtre Windowsproblem avec mysql/innodb
[C#/ASP.NET] Problem de refreshproblem sur codage xchat
SVP aider moi: Problem a l'introproblem avec public : ça marche pas
Plus de sujets relatifs à : getopt problem


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)