IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

appel d'un programme externe


Sujet :

C

  1. #1
    sos
    sos est déconnecté
    Nouveau membre du Club
    Inscrit en
    Décembre 2003
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 17
    Points : 29
    Points
    29
    Par défaut appel d'un programme externe
    Bonjour tout le monde,
    Je veux faire un programme C qui fait appel à un autre programme externe qui aura des paramètres et qui tourne sous linux.
    pouvez vous me dire comment dois je faire pour automatiser l'appel de ce programme surtout que je dois faire cet appel plusieurs fois
    Merci beaucoup pour votre aide

  2. #2
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par sos
    Je veux faire un programme C qui fait appel à un autre programme externe qui aura des paramètres et qui tourne sous linux.
    pouvez vous me dire comment dois je faire pour automatiser l'appel de ce programme surtout que je dois faire cet appel plusieurs fois
    system(). Pour construire la chaine, sprintf() peut aider...

    Citation Envoyé par 30barrett40
    Et pour Windows?
    Je n'ai pas compris comment faire.
    Merci
    system() est portable. La chaine de commande ne l'est évidemment pas, par définition.

    As-tu lu la doc des fonctions ?

    http://man.developpez.com
    Pas de Wi-Fi à la maison : CPL

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 49
    Points : 155
    Points
    155
    Par défaut
    system est en réalité certes portable, mais pas la solution la plus "propre".

    Il serait plus judicieux de regarder vers les fonction de la famille "exec".

    un petit "man exec" devrait te donner des premières pistes.

    Si tu as des questions n'hésite pas à les poser

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    system() et exec() ne font pas la même chose.
    system() émet une commande, qui peut être tout ce qu'on pourrait taper dans la fenêtre de commande, des commandes de base (rm, cat, man, dir etc.) ou des commandes d'exécution de programme.
    exec() charge et exécute un programme externe.
    A mon avis il faut connaitre les deux méthodes pour faire ce que l'on veut et surtout ce qu'il faut faire.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 49
    Points : 155
    Points
    155
    Par défaut
    C'est vrai, system et la famille exec ne font pas la même chose. Cependant, pour une utilisation sous Linux avec la libc, je renvoie vers la page de man de system pour les précautions à prendre.

    Tout dépend si ce que l'on veut, c'est qu'une commande soit simplement executé dans un environnement sans réel risque ( comme le traditionnel system ("pause"), ou si l'on va jsuqu'à réecrire un shell où l'utilisateur est potentiellement le super-utilisateur.

    Si j'ai proposé exec, c'est pour élargir le champ des connaissances et des champs de recherches pour toute personne se posant la question de l'execution d'une commande.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. appel d'un programme externe
    Par detourre dans le forum Débuter
    Réponses: 4
    Dernier message: 01/12/2009, 21h11
  2. Réponses: 9
    Dernier message: 14/06/2007, 20h59
  3. Réponses: 4
    Dernier message: 01/05/2006, 14h37
  4. [Kylix] pb d'appel de programme externe
    Par wizwiz dans le forum EDI
    Réponses: 2
    Dernier message: 27/08/2004, 09h29
  5. appel programme externe depuis pl/sql
    Par txouki dans le forum PL/SQL
    Réponses: 6
    Dernier message: 11/05/2004, 18h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo