getopt()

getopt() - C - Programmation

Marsh Posté le 07-04-2004 à 17:03:52    

je suis en train de jouer avec cette fonction et j'ai vu pour l'instant que selon que l'on mette dans optstring deux point : devant la lettre d'option cela permettait d'indiquer que ce paramètre était suivit d'un argument.  
 
maintenant mon soucis c'est que je voudrais utiliser le cas d'un -D tout seul et d'un -D10 par exemple, si je définis :D dans optstring et si je lance mon prog avec -D tout seul il renvois option requires an argument -- D et je ne sais pas m'en servir.
 
je voulais savoir si c'était quand mêmê possible avec getopt() ou si c'était même pas la peine d'y pensser.
 
voila  :)

Reply

Marsh Posté le 07-04-2004 à 17:03:52   

Reply

Marsh Posté le 07-04-2004 à 22:37:07    

up  :bounce:

Reply

Marsh Posté le 07-04-2004 à 22:48:31    

RTFM :o
 
Il faut mettre un double point-virgule pour indiquer qu'un argument est optionnel. Par contre, c'est une extension GNU qui n'est pas standard (POSIX).
 
EDIT : il faut mettre une double virgule, et non un double point-virgule.
 
EDIT 2 : dans la série "j'ai du mal", il s'agissait bien sûr d'un double "deux points" :lol:


Message édité par printf le 08-04-2004 à 20:17:24
Reply

Marsh Posté le 07-04-2004 à 23:20:10    

je vais faire mon boulet mais ca n'a pas l'air de fonctionner et je trouve pas de doc la dessus [:spamafote]

Reply

Marsh Posté le 07-04-2004 à 23:34:16    

Si tu développe sous un Unix-like (style *BSD), il y a de fortes chances que cela ne fonctionne pas, en effet. Par contre, si tu utilise GNU/Linux ça devrait passer. Cela dit, utiliser les extensions GNU comme celle-ci est déconseillé pour des raisons de portabilité (à moins de développer un logiciel GNU bien sûr).

Reply

Marsh Posté le 07-04-2004 à 23:39:24    

en effet ca marche mais c'était ::  
 
merci  :)

Reply

Marsh Posté le 08-04-2004 à 14:04:23    

push a écrit :

en effet ca marche mais c'était ::  
 
merci  :)  


 
En effet, je m'étais planté ;)

Reply

Marsh Posté le 08-04-2004 à 20:05:34    

une double virgule dans ton edit ? chez moi j'ai mis :: donc un double deux-points.
 
pour un argument -D optstring prend cette forme donc "D::"
 
 :p

Reply

Marsh Posté le 08-04-2004 à 20:16:25    

push a écrit :

une double virgule dans ton edit ? chez moi j'ai mis :: donc un double deux-points.
 
pour un argument -D optstring prend cette forme donc "D::"
 
 :p  


 
Décidément :D
Il s'agit d'un double "deux points" bien entendu :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed