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

Signaler
-
Messages postés
2
Date d'inscription
mardi 18 avril 2006
Statut
Membre
Dernière intervention
18 avril 2006
-
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

Messages postés
2
Date d'inscription
mardi 18 avril 2006
Statut
Membre
Dernière intervention
18 avril 2006

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]);
# }
?????
Messages postés
2
Date d'inscription
mardi 18 avril 2006
Statut
Membre
Dernière intervention
18 avril 2006

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]);
# }


???
Messages postés
7
Date d'inscription
dimanche 1 décembre 2002
Statut
Membre
Dernière intervention
25 juin 2003

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!
Messages postés
24
Date d'inscription
mercredi 14 mai 2003
Statut
Membre
Dernière intervention
16 décembre 2003

c'est c]a que j'avait besoin.
Messages postés
14
Date d'inscription
jeudi 9 octobre 2003
Statut
Membre
Dernière intervention
9 mars 2006

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
Messages postés
25
Date d'inscription
samedi 12 avril 2003
Statut
Membre
Dernière intervention
28 mars 2006

il faut utiliser les fonctions exec() cf documentations ...
Messages postés
402
Date d'inscription
samedi 28 décembre 2002
Statut
Membre
Dernière intervention
21 juillet 2005
1
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
@+