Appel fonction extern dans le programme C
akanechan
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je cherche comment faire pour appeler un executable en exterieur du programme C et je voudrais aussi avoir le resultat de retour pour modifier un parametre dans le programme C.
J'ai trouve que on peut utiliser la famille "exec" mais d'apres la doc, ils ne retournent pas de valeur en cas de success. Mais moi j'ai besoin le resultat de l'execution. Comment faire? Quelqu'un a deja fait qqch pareil?
Merci bcp par avance :)
Je cherche comment faire pour appeler un executable en exterieur du programme C et je voudrais aussi avoir le resultat de retour pour modifier un parametre dans le programme C.
J'ai trouve que on peut utiliser la famille "exec" mais d'apres la doc, ils ne retournent pas de valeur en cas de success. Mais moi j'ai besoin le resultat de l'execution. Comment faire? Quelqu'un a deja fait qqch pareil?
Merci bcp par avance :)
A voir également:
- Appel fonction extern dans le programme C
- Fonction si et - Guide
- Nommez une application d'appel vidéo ou de visioconférence - Guide
- Appel privé - Guide
- Programme demarrage windows - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
4 réponses
je pense que la commande system() est idéale, car elle retourne directement le code retour du programme invoqué.
En plus, elle est simple à utiliser et sachant qu'il n'est pas demander d'interaction entre les deux programme suffisante. Une pipe est inutile.
En plus, elle est simple à utiliser et sachant qu'il n'est pas demander d'interaction entre les deux programme suffisante. Une pipe est inutile.
Salut,
Tu as plusieurs choix. Tu peux par exemple le faire par des pipes.
Ensuite tu crées un processus fils (fork dans le monde linux, CreateProcess sur windows je crois). Tu transformes le second en ton programme avec lequel tu vas recevoir les informations (famille exec...).
Et tu peux les faire communiquer par des pipes (man pipe pour créer une paire de descripteurs de fichiers, et man dup2 pour la connexion des pipes).
Cdlt
Tu as plusieurs choix. Tu peux par exemple le faire par des pipes.
Ensuite tu crées un processus fils (fork dans le monde linux, CreateProcess sur windows je crois). Tu transformes le second en ton programme avec lequel tu vas recevoir les informations (famille exec...).
Et tu peux les faire communiquer par des pipes (man pipe pour créer une paire de descripteurs de fichiers, et man dup2 pour la connexion des pipes).
Cdlt
Cela dépend de ce qu'il entend par : Mais moi j'ai besoin le resultat de l'execution
S'il a juste besoin de savoir si le programme a bien fonctionné ou pas, effectivement system() sera très bien. Par contre s'il a besoin du résultat du programme (comme par exemple les valeurs qui s'affiche à l'écran), la solution "system" ne marchera pas.
S'il a juste besoin de savoir si le programme a bien fonctionné ou pas, effectivement system() sera très bien. Par contre s'il a besoin du résultat du programme (comme par exemple les valeurs qui s'affiche à l'écran), la solution "system" ne marchera pas.