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 :

Exécuter un fichier externe et lui transmettre des arguments inconnus.


Sujet :

C

  1. #1
    Membre éprouvé
    Avatar de Shugo78
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 119
    Points : 1 001
    Points
    1 001
    Par défaut Exécuter un fichier externe et lui transmettre des arguments inconnus.
    Bonjour, est-il possible d'éxécuter un fichier externe(.exe, .bat, ect...) via la commande system en lui transemettant des arguments, inconnus au moment de la compilation grâce à des variables qui contiennt ces arguments ?
    Merci

  2. #2
    Membre régulier Avatar de psyphi
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Allemagne

    Informations professionnelles :
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2006
    Messages : 119
    Points : 120
    Points
    120
    Par défaut
    En utilisant system ou exec cela doit etre possible oui.
    Suffit que tes variables qui contiennent tes arguments soit des chaines de caractères.
    Ensuite dans le cas de system tu fais une concaténation avec le nom du programme et le tour est joué.

  3. #3
    Membre éprouvé
    Avatar de Shugo78
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 119
    Points : 1 001
    Points
    1 001
    Par défaut
    J'ai pas tout compris tu peux expliquer mieu STP ?

  4. #4
    Membre régulier Avatar de psyphi
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Allemagne

    Informations professionnelles :
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2006
    Messages : 119
    Points : 120
    Points
    120
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    chaine progName = "exemple.exe";
    chaine arguments = lire au clavier les arguments();
    chaine finale = concaténer(progName+" "+arguments);
    System(finale);

  5. #5
    Membre éprouvé
    Avatar de Shugo78
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 119
    Points : 1 001
    Points
    1 001
    Par défaut
    Je crains que ça ne soit pas aussi simple en C

  6. #6
    Membre régulier Avatar de psyphi
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Allemagne

    Informations professionnelles :
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2006
    Messages : 119
    Points : 120
    Points
    120
    Par défaut
    Je crains que ça ne soit pas aussi simple en C
    Ah et pourquoi?

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 916
    Points
    17 916
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Shugo78
    Je crains que ça ne soit pas aussi simple en C
    En C si.. Maintenant faut savoir si ça marche comme ça sur Windows, mais je pense que oui.

    Sur sytèmes unixoide ça marche de manière aussi simple ...


  8. #8
    Membre éprouvé
    Avatar de Shugo78
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 119
    Points : 1 001
    Points
    1 001
    Par défaut
    C'était juste un présentiment par habitude des difficultées du C
    Mais c'est quoi la fonction concaténé

  9. #9
    Membre régulier Avatar de psyphi
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Allemagne

    Informations professionnelles :
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2006
    Messages : 119
    Points : 120
    Points
    120
    Par défaut
    C'était juste un présentiment par habitude des difficultés du C
    A ne plus avoir, le C ce n'est pas plus dur que d'autre langage de programmation, il faut juste être rigoureux.

    Mais c'est quoi la fonction concaténé
    Ba strcat ou strncat, ça ne va pas chercher bien loin

  10. #10
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 916
    Points
    17 916
    Billets dans le blog
    2
    Par défaut
    bah sprintf ou strcat fera l'affaire.....

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    char *chaine ;
    char *progname, *chaine_argument1, *chaine_argument2 ;
    int   valeur_argument1 ;
     
    ....
     
    sprintf ( chaine, "/home/mon_repertoire_bin/%s %s%d %s", 
              progname, chaine_argument1, valeur_argument1, chaine_argument2 );
     
    system ( chaine );

    bien sûr en ayant alloué les chaines...

  11. #11
    Membre éprouvé
    Avatar de Shugo78
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 119
    Points : 1 001
    Points
    1 001
    Par défaut
    Citation Envoyé par psyphi
    A ne plus avoir, le C ce n'est pas plus dur que d'autre langage de programmation, il faut juste être rigoureux.
    C'était une plaisenterie, tu ne vas pas m'apprendre mon métier comme même .
    Citation Envoyé par psyphi
    Ba strcat ou strncat, ça ne va pas chercher bien loin
    Ouf, en fait j'ai cru que la fonction concaténé éxisté vraiment mais ce n'était qu'une fausse alerte .

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/08/2009, 13h09
  2. Transmettre des arguments à une URL
    Par arkienou dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 21/01/2008, 15h49
  3. Réponses: 9
    Dernier message: 25/06/2007, 23h43
  4. Réponses: 13
    Dernier message: 24/03/2007, 17h12
  5. [Smarty] Automatiser les appels des fichiers externes (CSS/JS etc)
    Par speedev dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 15/06/2006, 13h43

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