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
- Toutou linux - Télécharger - Systèmes d'exploitation
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