[C++] Fonction System() erreur
Résolu
xenonex
Messages postés
22
Date d'inscription
Statut
Membre
Dernière intervention
-
xenonex Messages postés 22 Date d'inscription Statut Membre Dernière intervention -
xenonex Messages postés 22 Date d'inscription Statut Membre Dernière intervention -
bienvenue à toi,
j'ai un petit probleme sur un debut de programme( et oui les problèmes commencent déjà !! )
mon code me permet de lancer une executable sans probleme , par exemple: pour lancer paint
jusque là pas de prob , mais maintennt jai besoin de lancer de la meme manière un raccourci d'une excecutable. et la c'est le drame.Il ne trouve pas mon raccourci.J'ai bien verifié :
- le raccourci apel bien l'executable
- le raccourci est dans le bon dossier ( system32)
la fonctio system() doit fonctionner seulement avec les applications , alors j'aimerais savoir si il y a une astuce pour faire fonctionner system() à partir d'un raccourci
Merci pour les futur reponses ^^
j'ai un petit probleme sur un debut de programme( et oui les problèmes commencent déjà !! )
mon code me permet de lancer une executable sans probleme , par exemple: pour lancer paint
#include "stdlib.h" int main() { system("start mspaint") ; return 0; }
jusque là pas de prob , mais maintennt jai besoin de lancer de la meme manière un raccourci d'une excecutable. et la c'est le drame.Il ne trouve pas mon raccourci.J'ai bien verifié :
- le raccourci apel bien l'executable
- le raccourci est dans le bon dossier ( system32)
la fonctio system() doit fonctionner seulement avec les applications , alors j'aimerais savoir si il y a une astuce pour faire fonctionner system() à partir d'un raccourci
Merci pour les futur reponses ^^
A voir également:
- [C++] Fonction System() erreur
- 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
- System fan 90b - Forum Matériel & Système
- Missing operating system ✓ - Forum Windows
4 réponses
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
Est-ce que le nom du lien fini par .exe .com .bat ou .cmd ?
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