[C++] Fonction System() erreur
Résolu/Fermé
xenonex
Messages postés
22
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
12 novembre 2007
-
19 juin 2007 à 10:15
xenonex Messages postés 22 Date d'inscription jeudi 7 juin 2007 Statut Membre Dernière intervention 12 novembre 2007 - 20 juin 2007 à 10:47
xenonex Messages postés 22 Date d'inscription jeudi 7 juin 2007 Statut Membre Dernière intervention 12 novembre 2007 - 20 juin 2007 à 10:47
A voir également:
- [C++] Fonction System() erreur
- Erreur 0x80070643 - Guide
- Fonction si et - Guide
- Reboot system now - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans system - Guide
- Iptv erreur de lecture - Forum TV & Vidéo
4 réponses
mamiemando
Messages postés
33079
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
23 avril 2024
7 749
20 juin 2007 à 09:29
20 juin 2007 à 09:29
Il faut doubler tes '\'.
Il faut mettre le chemin complet pour que ton programme c++ se lance depuis n'importe quel répertoire.
Si l'exécutable appelé n'est pas "standard" il est souhaitable de passer son chemin en paramètre au programme c++.
Exemple : sous linux l'exécutable "df", situé dans le répertoire /bin affiche les différentes partitions :
(si tu fais du C++ utilise plutôt le header <cstdlib> que <stdlib.h> qui est le header du C.)
On compile et on exécute :
Si ton exécutable est par exemple c:\windows\truc.exe ca donne :
Bonne chance
Il faut mettre le chemin complet pour que ton programme c++ se lance depuis n'importe quel répertoire.
Si l'exécutable appelé n'est pas "standard" il est souhaitable de passer son chemin en paramètre au programme c++.
Exemple : sous linux l'exécutable "df", situé dans le répertoire /bin affiche les différentes partitions :
#include <cstdlib> int main(){ system("/bin/df"); return 0; }
(si tu fais du C++ utilise plutôt le header <cstdlib> que <stdlib.h> qui est le header du C.)
On compile et on exécute :
(mando@cenedra) (~) $ g++ -W -Wall -o plop.exe plop.cpp (mando@cenedra) (~) $ ./plop.exe Sys. de fich. 1K-blocs Occupé Disponible Capacité Monté sur /dev/sda5 8054588 4975247 2670087 66% / /dev/sda7 33949601 5892080 28057521 18% /home /dev/sda1 120204 7448 112756 7% /mnt/win_ /dev/sda2 31254456 17918956 13335500 58% /mnt/win_c
Si ton exécutable est par exemple c:\windows\truc.exe ca donne :
#include <cstdlib> int main(){ system("c:\\windows\\truc.exe"); return 0; }
Bonne chance
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
19 juin 2007 à 11:05
19 juin 2007 à 11:05
Est-ce que le nom du lien fini par .exe .com .bat ou .cmd ?
xenonex
Messages postés
22
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
12 novembre 2007
1
19 juin 2007 à 11:34
19 juin 2007 à 11:34
ba mon raccourci ce termine par .exe vers une application en .exe
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
19 juin 2007 à 12:13
19 juin 2007 à 12:13
Et sans le start ?
En donnant le chemin complet ?
En donnant le chemin complet ?
xenonex
Messages postés
22
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
12 novembre 2007
1
>
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
20 juin 2007 à 08:37
20 juin 2007 à 08:37
non pas mieux , si je met le chemin complet il me lance tout les caractères d'echapement
c:\w----\s----\o-----
( \w \s \o etc... )
c:\w----\s----\o-----
( \w \s \o etc... )
xenonex
Messages postés
22
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
12 novembre 2007
1
>
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
20 juin 2007 à 09:23
20 juin 2007 à 09:23
ca y est j'ai réglé le probleme de caractères d'échappement
c:\\..........
ne pas oubliez de mettre deux backslash ^^, c'est pas tout mais apres je compile mais j'ai encore un probleme comme si mon .exe n'existait pas ( encor eu peu de recherche et ca devrait etre resolu ^^)
c:\\..........
ne pas oubliez de mettre deux backslash ^^, c'est pas tout mais apres je compile mais j'ai encore un probleme comme si mon .exe n'existait pas ( encor eu peu de recherche et ca devrait etre resolu ^^)
xenonex
Messages postés
22
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
12 novembre 2007
1
20 juin 2007 à 10:13
20 juin 2007 à 10:13
voilà fesons un point :
après avoir réglé quelque erreur de \\ ,voilci le probleme suivant.
voila mon code.
truc c'est mon application , mais elle a comme option ( obligatoire ) le nom ouvertureporte,qui me permet de lancer une macro nommer ainsi.
j'ai tester cette ligne de commande dans cmd et ca marche , mais l'execution dans mon programme me fait une erreur d'execution
après avoir réglé quelque erreur de \\ ,voilci le probleme suivant.
voila mon code.
#include "stdlib.h" int main() { system("C:\\dossier1\\dossier2\\truc.exe ouvertureporte") ; return 0; }
truc c'est mon application , mais elle a comme option ( obligatoire ) le nom ouvertureporte,qui me permet de lancer une macro nommer ainsi.
j'ai tester cette ligne de commande dans cmd et ca marche , mais l'execution dans mon programme me fait une erreur d'execution
xenonex
Messages postés
22
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
12 novembre 2007
1
20 juin 2007 à 10:47
20 juin 2007 à 10:47
ca y est !!!!
voilà la solution
sans oublier que mon raccourci à pour cible (C:\dossier1\dossier2\truc.exe ouvertureporte)
avec le .lnk ( extension de raccourci ) mon programme se lance et ma porte s'ouvre ^^
merci à tous ++
voilà la solution
#include "stdlib.h" int main() { system("C:\\ouvre.exe.lnk") ; return 0; }
sans oublier que mon raccourci à pour cible (C:\dossier1\dossier2\truc.exe ouvertureporte)
avec le .lnk ( extension de raccourci ) mon programme se lance et ma porte s'ouvre ^^
merci à tous ++