Arguments en C - C - Programmation
Marsh Posté le 17-10-2009 à 02:49:28
En comptant préalablement les arguments avec argc ?
Sinon, je suis loin d'être un spécialiste en C, mais je suis sûr qu'il existe tout plein de librairies qui font ce genre de boulot correctement.
Marsh Posté le 17-10-2009 à 02:58:44
tabb a écrit : switch/case ? if/else ? autre ? |
Oui, getopt, et oublie tout le reste (de mémoire, non testé) :
Code :
|
Marsh Posté le 17-10-2009 à 15:59:53
ccp6128 a écrit : En comptant préalablement les arguments avec argc ? |
Ouais mais l'utilisateur peut rentrer par exemple : ./prog -t -a
Dans ce cas là j'ai bien 2 arguments mais pas les bons!
Citation : Oui, getopt, et oublie tout le reste (de mémoire, non testé) : |
Ok je vais tester ca.
Marsh Posté le 18-10-2009 à 01:08:44
Bah tu peux parcourir chaque tableau correspondant a un argument pour vérifier ce qu'il y a a l'intérieur
un truc du genre
Code :
|
ca renvoie 1 si le string contient uniquement des chiffres, et 0 si il contient autre chose.
Marsh Posté le 22-10-2009 à 18:41:26
Merci bien.
Une autre question, j'aimerai savoir comme récupérer des arguments grâce au pipe comme cela :
Code :
|
J'aimerai donc que les arguments contenu dans data.txt viennent en paramètre de mon programme..
Y a t-il une façon de la faire ?
Merci.
Marsh Posté le 22-10-2009 à 18:54:50
Code :
|
Voir man xargs pour plus d'informations.
Marsh Posté le 16-10-2009 à 23:09:47
Salut,
Ca fait une plombe que j'ai pas touché au C AINSI sous linux. J'ai qq questions concernant la gestion de args/params en ligne de commande
J'ai un prog qui accepte au max 4 arguments, mais seulement un est obligatoire, les autres étant optionnel. Chaque argument à une "value" cad :
Pour récupérer mon "-a" c'est argv[1], pour récupérer le "2" c'est argv[2] etc.
Pour checker si j'ai mon "a" je fais un
Ensuite, pour checker si l'utilisateur à bien rentrer un chiffre (2 ici) juste après le "a", que dois-je faire ? Car si je fais un :
Sauf que si argv[2] (le "2" ici) n'a pas été rentré par l'utilisateur, ca me jète un segfault car argv[2] n'existe pas.. Comment dans ce cas tester l'existence (ou non) d'un argument ? (Une sorte de isset() comme en php..)
Existe-t-il une manière "propre" pour gérer des arguments ? switch/case ? if/else ? autre ?
Merci bcp.