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

Biblioth�ques, syst�mes et outils C Discussion :

Probl�me param�tre avec execv()


Sujet :

Biblioth�ques, syst�mes et outils C

  1. #1
    Membre �clair�
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2011
    Messages
    258
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 63
    Localisation : France

    Informations professionnelles :
    Activit� : Webmaster
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 258
    Par d�faut Probl�me param�tre avec execv()
    Bonjour ,

    Si j'ex�cute le code suivant, pas de probl�mes ...

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    #include <stdio.h> 
    #include <string.h> 
    #include <stdlib.h> 
    #include <time.h> 
    #include <assert.h>
    #include <errno.h>
    #include <ctype.h>
    #include <unistd.h>
    #include <sys/types.h>
    #include <sys/wait.h>
     
    #define TRUE 1
    #define FALSE 0
    #define DEVICE "/dev/sda1"
    #define FICHIER "diskspace.txt"
     
    int main()
    {
     
     
            char * argument[] = {"ps","-a",NULL};
     
            execv("/usr/bin/ps",argument);
     
            exit(EXIT_SUCCESS);
    }
    Cependant, � partir d'un tableau de pointeurs initialis�s en NULL, je veux remplir ma commande, au fur et � mesure ,

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    #include <stdio.h> 
    #include <string.h> 
    #include <stdlib.h> 
    #include <time.h> 
    #include <assert.h>
    #include <errno.h>
    #include <ctype.h>
    #include <unistd.h>
    #include <sys/types.h>
    #include <sys/wait.h>
     
    #define TRUE 1
    #define FALSE 0
    #define DEVICE "/dev/sda1"
    #define FICHIER "diskspace.txt"
     
    int main()
    {
     
     
            char * argument[] = {NULL,NULL,NULL};
     
           strcpy(argument[0],"ps");
     
           strcpy (argument[1],"-al");
     
            execv("/usr/bin/ps",argument);
     
            exit(EXIT_SUCCESS);
    }
    Les strcpy ne marchent pas et cela et bien emb�tant car la commande syst�me doit �tre param�trable.

    Comment faire ? ( avec la derni�re ligne du tableau se terminant par le pointeur NULL )

  2. #2
    Membre �m�rite
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2012
    Messages
    381
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activit� : Technicien maintenance
    Secteur : Administration - Collectivit� locale

    Informations forums :
    Inscription : Novembre 2012
    Messages : 381
    Par d�faut
    Bonjour,

    Par exemple il est possible de faire :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
     	char argument1[200], argument2[200];
           	char * argument[] = {argument1,argument2,NULL};
    Car le probl�me c'est que les strcpy vont �crire � l'adresse 0 d'o� l'erreur de segmentation. Il faut allouer de l'espace pour stocker les cha�nes de caract�res.

  3. #3
    Membre �clair�
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2011
    Messages
    258
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 63
    Localisation : France

    Informations professionnelles :
    Activit� : Webmaster
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 258
    Par d�faut Au poil !
    Super merci ! �a marche !

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Pilotage d'Excel avec VB.NET : probl�me param�tre xlDown
    Par Paenitentia dans le forum Windows Forms
    R�ponses: 4
    Dernier message: 09/12/2009, 15h03
  2. probl�me dllImport avec tableau de char[] en param�tre E/S
    Par moulefrite dans le forum Windows Forms
    R�ponses: 4
    Dernier message: 24/12/2008, 10h07
  3. Probl�me proc�dure avec param�tres
    Par slouma_b_h dans le forum Macros et VBA Excel
    R�ponses: 7
    Dernier message: 18/11/2008, 11h48
  4. Probl�me proc�dure avec param�tres
    Par Aizen64 dans le forum Macros et VBA Excel
    R�ponses: 3
    Dernier message: 07/06/2007, 10h40
  5. [xsl] Probl�me hyperlink avec param�tre
    Par ekmule dans le forum XSL/XSLT/XPATH
    R�ponses: 1
    Dernier message: 13/12/2005, 08h46

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