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 :

Fonction Execlp avec nombre parametres variable


Sujet :

C

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 88
    Points : 53
    Points
    53
    Par défaut Fonction Execlp avec nombre parametres variable
    Bonsoir,

    Je dois utiliser execlp avec un nombre de parametres indéterminés stockés dans un tableau, quelqu'un peut-il me dire si il existe un moyen d'utiliser cette fonction avec un nombre de parametres variables ?

    Merci

    Laurent

  2. #2
    Membre averti Avatar de Jack_serious
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    350
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 350
    Points : 396
    Points
    396
    Par défaut
    Tu peux l'utiliser avec autant de parametres que tu veux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    $ man execlp
     
     int
         execlp(const char *file, const char *arg, ...);
     
     
    The const char *arg and subsequent ellipses in the execl(), execlp(), and
         execle() functions can be thought of as arg0, arg1, ..., argn.  Together
         they describe a list of one or more pointers to null-terminated strings
         that represent the argument list available to the executed program.  The
         first argument, by convention, should point to the file name associated
         with the file being executed.  The list of arguments must be terminated
         by a NULL pointer.
    Traduction :
    Tu dois l'appeller en lui filant en premier parametre le chemin du programme que tu execute, puis une liste d'arguments. Chaque argument est une chaine, et le premier est le nom du programme.

    Tu peux faire reference au programme par un chemin relatif ou absolu, sachant que si le chemin est relatif execlp() va utiliser le contenu de PATH pour le trouver.

    Le dernier argument est un 0.

    Exemple (appel de ls sous Unix, mais fonctionne pareil ailleurs) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Avec un chemin absolu :
     
    execlp("/bin/ls", "ls", "-l", "-a", "/dev", 0);
     
    ou avec un chemin relatif :
     
     execlp("ls", "ls", "-l", "-a", "/dev", 0);
    N'hesite pas si tu as d'autres questions ou si je n'ai pas ete clair, il se fait tard
    Don't worry, be serious.
    La vie est courte. Prenez votre temps.

    Jack.

  3. #3
    Membre averti Avatar de Jack_serious
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    350
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 350
    Points : 396
    Points
    396
    Par défaut
    Remarque : si ta liste de parametre est stockee dans un tableau, tu peux utiliser une fonction plus appropriee :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     int
         execvp(const char *file, char *const argv[]);
    execvp est ton ami : il attend en parametre le nom du programme, (meme remarque que precedement sur les chemins relatifs ou absolus) et le deuxieme parametre est un tableau de chaines.

    Juste quelques restrictions:
    • Le premier element du tableau est le nom du programme
    • Le dernier est un 0 (un pointeur NULL si on veut etre rigoureux.)
    Don't worry, be serious.
    La vie est courte. Prenez votre temps.

    Jack.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 88
    Points : 53
    Points
    53
    Par défaut
    C'est exactement ce qu'il me faut Jack_serious

    Merci beaucoup

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 17/10/2013, 14h58
  2. [XL-2003] Fonction RECHERCHEV avec nom de variable en source
    Par brunop3165 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/06/2011, 00h19
  3. application externe avec des parametre variable
    Par CoOki_ dans le forum Excel
    Réponses: 3
    Dernier message: 11/08/2007, 09h07
  4. Réponses: 9
    Dernier message: 15/05/2007, 12h41
  5. Est-il possible d'utiliser la fonction TOP avec un argument variable ?
    Par 16-Marco dans le forum Requêtes et SQL.
    Réponses: 13
    Dernier message: 06/03/2007, 22h21

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