Bonjour, après quelque recherche je ne trouve pas comment ouvrir un exécutable avec le langage c.
J'ai vue sur d'autre forum qu'il existe la fonction system() mais cette fonction ne fait pas se que je veux, elle affiche la compilation de mon .exe (en plus c'est une fonction c++ pas c ^^"). Je voudrais créer un logiciel qui me permettrait de choisir entre quelque logiciel pour me facilité la vie. (Je suis sous Windows 10 avec Visual studio).
Merci a se qui prendront de leur temps pour m’aidée !
Ici 'commande' est une chaîne de caractères destinée à recevoir la commande à exécuter, et 'Page.nom' est le nom de la carte. Par exemple si le nom est "carte01", la première ligne mettra dans 'commande' la chaîne "ps2pdf carte01.ps\n", et la deuxième ligne exécutera
> cette fonction ne fait pas se que je veux, elle affiche la compilation de mon .exe Quelle commande entres tu comme paramètre pour system? Que voudrais-tu faire? > (en plus c'est une fonction c++ pas c Une fonction? On peut compiler ce qu'on veut ou faire autre chose.
Le Tout est souvent plus grand que la somme de ses parties.
char command[2000];
system(command, "chemin d'accèe de mon .exe a exécuté");
mon but et de crée une liste avec des printf, ou j'entre le numéro du programme a exécuté et le switch se charge d'exécuter le bon programme.
(Tout ça je sais faire j'en avais déjà fait auparavant ce que j'arrive pas à faire c'est d'exécuter mon .exe)
> (en plus c'est une fonction c++ pas c Une fonction? On peut compiler ce qu'on veut ou faire autre chose.
par a port au c++ et au c je pensais que c’était juste en c++, car j'ai connu la fonction system (si ces une fonction) sur un forum c++ d'OpenClassrooms.
Et pour répondre à@robun, je pense avoir fait a peut pré pareil.
j'ai mis un printf a la place d'un sprintf car mon ide disais que c'etait pas sécurisé (apre je vais maitre _CRT_SECURE_NO_WARNINGS mais sa ne change rien cela ne veux pas lancé mon .exe
C'est sprintf() et pas printf() ces deux commandes sont différentes et ont des syntaxes différentes.
Pour ton compilateur Visual Studio qui décide de bannir des commandes standard du C tu as un topic sur SO qui détaille les différents moyens de le faire taire.
Ne dois-tu pas, par exemple, changer de répertoire et/ou de disque avant de lancer la commande ?
Je suppose que c'est lanceur.exe qui affiche "config file not found". Et si c'est bien ça, où va-t-il chercher son fichier de configuration ? Car si c'est un chemin relatif, tu dois émettre la commande à partir du disque/répertoire où se trouve lanceur.exe
- Edité par edgarjacobs 9 novembre 2022 à 20:18:10
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
Le changement de dossier n'est peut-être pas souhaitable pour le programme appelant. Une commande cd dans le script est peut-être préférable dans certains cas. Notes: + On peut écrire des "/" au lieu des "\" dans Windows (cmd). + On doit donner le suffixe approprié au script (ici .bat ou .cmd), mais on n'est pas obligé de le mentionner dans l'appel sous cmd.
Le Tout est souvent plus grand que la somme de ses parties.
@edgarjacobs c’était a peu pré ça, j'ai résolu le problème il fallait que je crée un .bat
cd C:\Users\Documents\fichier
start Lanceur.exe
Je ne vois pas bien le rapport avec ta demande initiale. Tu voulais écrire un programme qui affiche un menu et, en fonction de l'option choisie, qui exécute un des programmes du menu (tu parlais notamment de 'switch').
Pour moi, il faut utiliser la commande 'system', et tu le sais depuis le début. OK pour l'instant ça ne marche pas, mais ça n'empêche pas que c'est ce qu'il faut faire, c'est juste que tu ne gères pas bien les répertoires (mets-les dans le PATH, ce sera plus simple).
Là, avec un batch, tu vas lancer un programme, mais comment faire le menu ?
J'ai supposé que le menu est dans le programme C qui appelle system() avec une commande correspondant au choix: char *menu[] = { "programme1", "programme2", "programme3" };
Le Tout est souvent plus grand que la somme de ses parties.
Quel programme ? Je croyais que c'était les différents programmes proposés dans le menu et appelés par 'system' dans un 'switch'. Était-ce en fait le programme qui appelle ces 'system' ? Je n'y crois pas : on n'a pas besoin d'appeler 'system' pour le lancer, lui : il suffit de taper son nom en console.
- Edité par robun 11 novembre 2022 à 17:36:06
lancer un .exe avec un programme c
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Le Tout est souvent plus grand que la somme de ses parties.
Le Tout est souvent plus grand que la somme de ses parties.
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
Le Tout est souvent plus grand que la somme de ses parties.
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
Le Tout est souvent plus grand que la somme de ses parties.
Le Tout est souvent plus grand que la somme de ses parties.