Comment utiliser la fonction système et y ajouter des options [Résolu/Fermé]

Signaler
Messages postés
294
Date d'inscription
jeudi 3 janvier 2013
Statut
Membre
Dernière intervention
19 novembre 2013
-
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
-
Bonjour,


j'aimerais savoir comment envoyer des paramètres à une commande dos , quand j'utilise la syntaxe system() , merci
exemple , md chemin
merci de votre attention


6 réponses

Messages postés
1270
Date d'inscription
dimanche 16 août 2009
Statut
Membre
Dernière intervention
30 décembre 2016
80
Utilise execv ou execl (tape man exec pour plus d'info).
Messages postés
294
Date d'inscription
jeudi 3 janvier 2013
Statut
Membre
Dernière intervention
19 novembre 2013
4
je suis sous windows 7 ( pas linux) du coup exec et autres ne marchent pas
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 714
Faut former tes chaines avec sprintf et envoyer le tout dans system ()
Maid vaut mieux utiliser les fonctions standards voire posix ou à défaut les api. System () est à éviter.
Messages postés
294
Date d'inscription
jeudi 3 janvier 2013
Statut
Membre
Dernière intervention
19 novembre 2013
4
Ok merci l'ami , je vais regarder la documentation de cette fonction car je ne l'ai jamais utilisé.
Messages postés
1270
Date d'inscription
dimanche 16 août 2009
Statut
Membre
Dernière intervention
30 décembre 2016
80
Normalement, le C est portable, dans les biblio standard, tu dois avoir une fonction execv/l pour linux comme pour windows ...
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 714
armasousou,
dans les biblio standard, tu dois avoir une fonction execv/l pour linux comme pour windows ...
1/ Ce n'est pas parce qu'une fonction est dans un header portable qu'elle est portable. C'est nécessaire mais pas suffisant.
2/ execv se trouve dans unistd.h qui est posix mais non ISO.
3/ Je vois pas trop le rapport entre execv et sa demande. Dans ce cas system() est plus adéquat (même si ça fait mal de le dire).