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 :

Avoir le contenu du pointeur ?


Sujet :

C

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 6
    Par défaut Avoir le contenu du pointeur ?
    Bonjour,

    Je suis debutant en C, et je me mele un peu avec les pointeurs.

    En voici ce que je fais .
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      bool test; 
      bool *env_var_val_boolean =getenv("val_boolean");
      test = env_var_val_boolean;

    En fait mon programme aimerait lire ma variable d'environement "val_boolean"
    afin que je l'utilise dans mon programme. test recuper cet boolean ....mais le probleme est que la variable test est toujours vraie meme si je change ma variable d'environement val_boolean a faux .

    Aide svp ?

    Merci d'avance !!

  2. #2
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    getenv renvoi un char* et tu utilise un pointeur sur bool (bool*)

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Par défaut
    Tu devrais activer les warnings sur ton compilateur. Il t'aurait aider à détecter les erreurs.
    bool.c: In function `main':
    bool.c:7: warning: initialization from incompatible pointer type
    bool.c:8: warning: assignment makes integer from pointer without a cast
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    7  bool *env_var_val_boolean =getenv("val_boolean");
    8  test = env_var_val_boolean;

    Des infos sur getenv ici http://man.developpez.com/man3/getenv.3.php. getenv ne renvoie pas un pointeur sur un booléen.

    env_var_val_boolean est un pointeur sur un booléen mais pas un booléen.
    Quelques rappels:
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    bool test; // booleen
    bool *env_var_val_boolean; // pointeur sur un booleen
    env_var_val_boolean = &test; // place dans le pointeur env_var_val_boolean l'adresse du booleen test
    test = *env_var_val_boolean; // accede a la valeur sur laquelle pointe env_var_val_boolean

    http://c.developpez.com/faq/?page=pointeurs

  4. #4
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 6
    Par défaut suite
    Merci pour la reponse,

    maintenant il me manque le moyen comment convertir un variable caracter en un boolean.

    bool test; // booleen
    char *env_var_val_boolean =getenv("variable_env") ; // pointeur sur caractere

    Aufait j'ai envi de prendre le contenu de env_var_val_boolean et le transformer en boolean afin de l'assigner a test .

    Aide ?

    Merci

  5. #5
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Beh tu parses le résultat maintenant, sous quel format chaîne est renvoyé cette variable d'environnement ? Si c'est directement la valeur du booleen du peux faire


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    test= strcmp(env_var_val_boolean,"1")==0?1:0;
    Je t'invite à regarder des cas d'utilisation de l'opérateur ternaire avant de poser une question sur cette instruction

Discussions similaires

  1. [DOM] avoir le contenu d'un sous noeud en fonction de l'attribut
    Par starr dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 20/07/2007, 17h24
  2. comment avoir un contenu toujours en haut
    Par piotrowski-s dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 22/04/2007, 08h52
  3. Avoir un contenu de liste déroulante différent par rapprot à une liste déroulante
    Par beegees dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 19/10/2006, 08h07
  4. Expression reguliere pour avoir le contenu d'un lien <A ....>
    Par jejam dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/05/2006, 16h37
  5. [Datagrid] avoir le contenu du grid
    Par mahboub dans le forum ASP.NET
    Réponses: 2
    Dernier message: 18/04/2006, 19h45

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