Recup un argument de commande linux en C
Résolu
sirinabb
-
sirinabb -
sirinabb -
Bonjour,
je suis en stage et ma tache consiste à ajouter une fonctionnalité à un programme deja developpé...mon problème est que le code que j'ai entre les mains ne récupère pas un chemin donnée en paramètres or c ce que je doit faire :(
je suis très inquiète
merci merci mercii d'avance pour votre aide
je suis en stage et ma tache consiste à ajouter une fonctionnalité à un programme deja developpé...mon problème est que le code que j'ai entre les mains ne récupère pas un chemin donnée en paramètres or c ce que je doit faire :(
je suis très inquiète
merci merci mercii d'avance pour votre aide
A voir également:
- Recup un argument de commande linux en C
- Invite de commande - Guide
- Commande terminal mac - Guide
- Linux reader - Télécharger - Stockage
- Commande dism - Guide
- Diskpart commande - Guide
4 réponses
int main(int ac, char **av) { char *argument; argument = recup_arg("-d", ac, av); } char *recup_arg(char *cmp, int ac, char **av) { int i = 1; while (i < ac) { if (strcmp(av[i], cmp) == 0 && i + 1 < ac) return (strdup(av[i + 1])); i++; } return (NULL); }
Si je ne me trompe pas, cela devrait fonctionner. la chaine "argument" possède le contenu de ce qui est en paramètre après "-d" grace à "recup_argument" (notons que c'est ici une fonction générique qui pourra être réutilisée pour d'autres options).
argument est NULL si -d n'est pas présent ou si il n'y a pas d'argument après.
Si tu as les sources, c'est simple, il suffit de récupérer les arguments.
Explicite mieux ton problème.
Explicite mieux ton problème.
à faire une fois que tu as complètement terminé d'utiliser ta variable, sinon ton programme va tout simplement planter et faire un joli Segmentation fault