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 :

Renvoyer le nom d'une variable et sa valeur dans un fichier pour debuggage


Sujet :

C

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Renvoyer le nom d'une variable et sa valeur dans un fichier pour debuggage
    Bonjour à tous,

    bon je suis une bouse en C. J'ai un programme écrit en C qui écrit des données dans un fichier. Pour celà il appelle la fonction writei() (par exemple pour écrire un entier). cette fonction la voilà:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    /**********************************************************************/
    void writei(int s, FILE *out){
    /**********************************************************************/
    /* Write an integer to "out"                                          */
    /**********************************************************************/
     fprintf(out,"%d\n",s);
    }
    J'aimerai modifier le fprintf pour qu'il me renvoie le nom de la variable et la valeur de la variable. Par exemple si je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    writestr(version_str, outfile_map);
    j'aimerai récupèrer:
    Merci d'avance!

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 113
    Points : 32 958
    Points
    32 958
    Billets dans le blog
    4
    Par défaut
    Bonjour,

    il n'y a aucun moyen de connaître le nom d'une variable en dehors de l'éditeur.
    Si tu as absolument besoin du nom de la variable, il te faut enregistrer cette information, elle-même dans une variable dont tu ne connaîtras pas non plus le nom en dehors de l'éditeur.
    Le programme fonctionne par adresse et non par nom.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    Autrement dit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    void writei(int s, char * name, FILE *out){
    /**********************************************************************/
    /* Write an integer to "out"                                          */
    /**********************************************************************/
     fprintf(out,"%s : %d\n", name, s);
    } 
     
    .....
     
    writestr(version_str, "version_str", outfile_map);
    Note : On peut éviter la répétition à l'aide d'une macro :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #define arg(v) v,#v
     
    writestr(arg(version_str), outfile_map);
    Publication : Concepts en C

    Mon avatar : Glenn Gould

    --------------------------------------------------------------------------
    Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !

Discussions similaires

  1. Réponses: 7
    Dernier message: 10/01/2013, 17h39
  2. Réponses: 11
    Dernier message: 26/09/2012, 10h49
  3. Réponses: 3
    Dernier message: 03/01/2012, 12h16
  4. Réponses: 3
    Dernier message: 28/06/2011, 19h19
  5. Réponses: 2
    Dernier message: 19/04/2007, 16h26

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