EXECUTION D'UNE COMMANDE SYSTEME [CODE EN C] [GCC]

naney - 28 mai 2001 à 22:31
cs_pasevident Messages postés 2 Date d'inscription mardi 18 avril 2006 Statut Membre Dernière intervention 18 avril 2006 - 18 avril 2006 à 17:10
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/9105-execution-d-une-commande-systeme-code-en-c-gcc

cs_pasevident Messages postés 2 Date d'inscription mardi 18 avril 2006 Statut Membre Dernière intervention 18 avril 2006
18 avril 2006 à 17:10
je veux faire la même chose pour executer les commandes dir et copy et autres mais ça ne marche pas , je sais pas prquoi, aidez moi s'il vous plait, j'en ai besoin
merci

# #include <stdio.h>
#
# int main(int argc, char *argv[])
# {
# System("dir %s", argv[1]);
# }
?????
cs_pasevident Messages postés 2 Date d'inscription mardi 18 avril 2006 Statut Membre Dernière intervention 18 avril 2006
18 avril 2006 à 17:06
je veux executer la commande dir et copy de la même façon mais ça ne marche pas
aidez moi s'il vous plait j'en ai besoin merci


# include <stdio.h>
#
# int main(int argc, char *argv[])
# {
# System("dir %s", argv[1]);
# }


???
cs_chavez Messages postés 7 Date d'inscription dimanche 1 décembre 2002 Statut Membre Dernière intervention 25 juin 2003
26 mai 2005 à 13:54
C'est normal ls n'existe pas sous dos, elle existe uniquement sous linux!
\* c'est une séquence d'échapement c'est pour que ton programme ne prenne pas * comme multiplier....
Par exemple si tu veut afficher " dans sun printf tu ne peut pas le faire:
printf(" affichage de " merci");
aors tu met:
printf(" affichage de " merci");
et la ca t'affichera bien:
affichage de " merci!
mimithebrain Messages postés 24 Date d'inscription mercredi 14 mai 2003 Statut Membre Dernière intervention 16 décembre 2003
2 avril 2005 à 03:18
c'est c]a que j'avait besoin.
smoineau44 Messages postés 14 Date d'inscription jeudi 9 octobre 2003 Statut Membre Dernière intervention 9 mars 2006
22 mars 2005 à 11:37
je doit faire la meme chose avec la fonction ls mais ca marche pas...
ca me fait "ls: %s: Aucun fichier ou répertoire de ce type" quoi que je mette en argument...

de plus j'ai un pb de passage de parametre pour ls * le caractere'*' ne passe pas sans mettre "\*"... si vous avez une idée pour m'aider
merci d'avance
patriarch24 Messages postés 25 Date d'inscription samedi 12 avril 2003 Statut Membre Dernière intervention 28 mars 2006
2 févr. 2004 à 11:34
il faut utiliser les fonctions exec() cf documentations ...
D1m3x Messages postés 402 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 21 juillet 2005 1
7 juil. 2003 à 21:17
Avec cette commande vous pouvez utiliser :
system( "pause" );
system( "cls" );
^^^^^^^^^^^^^
||||||||||||||||||||
Les deux trucs ke jutilise ec system(); je c pas si pause et cls sont ossi dispo sous dos. Je m'y connait pas du t sous dos =(
lol

cette commande est très dangereus comme le disait moai, car ... (... ce kil a dit )D

Bon allais ciao ;)
Non tu a pas du bien comprendre, cette instruction permet d'executer la commande que tu lui indique si tu lui indique par exemple:
system("dir c: /p");
ca revient au meme de taper toi meme sous dos:
dir c: /p
car cette instruction ne se refere pas a ton PATH mais a ton systeme d'exploitation,.
Mais cette instruction est tres dangereuse car elle utilise le premier executable qu elle trouve, et pas specialement celui qui doit etre execute
j'ai rien compris tu ne peu pas m'aitre un exemple commanter car je debute :(
merci d'avance
@+
Rejoignez-nous