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 :

Centraliser les struct dans un fichier


Sujet :

C

  1. #1
    Invité
    Invité(e)
    Par défaut Centraliser les struct dans un fichier
    Bonjour,
    Je ne suis pas expérimenté en C, et utilisant d'autres langages, je voudrais savoir s'il est possible de grouper les struct définissant la structure de fichiers (utilisés par plusieurs programmes ) dans un fichier, qui serait appelé par un #include ( probablement ) dans les programmes utilisateurs.
    Est-ce possible ? Comment ?
    ( j'ai regardé les FAQ et forums mais n'ai rien trouvé )
    Merci d'avance de vos réponses.

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 391
    Par défaut
    Si j'ai bien compris, tu écris directement une structure dans un fichier binaire.

    Pour ça, je dirais à gros coups de #define (et les équivalents des autres langages).
    Regarde un peu les item lists (fichiers .itm) chez Emmanuel Delahaye... Avec ça, tu devrais pouvoir définir un format pour tes déclarations de la structure d'un fichier dans différents langages...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre émérite
    Avatar de Elijha
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Avril 2003
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Avril 2003
    Messages : 314
    Par défaut
    Salut,

    Effectivement, tu peux déclarer tes structures dans un fichier .h qui sera lui-même inclut dans tous tes programmes.
    Le fichier structures.h :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #ifndef DEF_STRUCT
    #define DEF_STRUCT
    struct stMaStructure
    {
      int a ;
      int b ;
    } ;
     
    struct stAutreStructure
    {
      int c ;
      int d ;
    } ;
    #endif
    Le fichier programme #1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #include "structures.h"
     
    struct stMaStructure table[10] ;
    struct stAutreStructure autreTable[10] ;
    Le fichier programme #2:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #include "structures.h"
     
    struct stMaStructure var ;
    struct stAutreStructure autreVar ;
    Je dirais même plus, c'est pour cela que c'est fait

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 391
    Par défaut
    Mais là, Speedycool nous parle de plusieurs langages différents...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre émérite
    Avatar de Elijha
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Avril 2003
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Avril 2003
    Messages : 314
    Par défaut
    Citation Envoyé par Médinoc
    Mais là, Speedycool nous parle de plusieurs langages différents...
    Hummm,
    J'avais compris que Speedycool pratiquai d'autres langages à part le C.

    Sinon à part déclarer les structures pour chaque langage....mais pour quel autres langages Speedycool ?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Merci pour toutes ces réponses parmi lesquelles j'ai ce que je cherche !

    Quand je dis je pratiques plusieurs langages, c'est sur des projets différents, qui ne partage que rarement les mêmes données. Je précisai ça pour essayer de faire des analogies avec d'autres langages et faciliter ma compréhension.
    Donc C permet également des faire des "bibliothèques" de structures, comme d'autres langages ( je m'en doutais, mais je ne savais pas faire ... )

    Merci à Elijha pour la clarté et la précision de ta réponse, et merci aux autres pour leur intérêt !

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

Discussions similaires

  1. Afficher tous les "cout" dans un fichier
    Par tibouchou dans le forum SL & STL
    Réponses: 6
    Dernier message: 18/03/2006, 12h08
  2. Sauvegarder les données dans un fichier CSV
    Par beb30 dans le forum MFC
    Réponses: 5
    Dernier message: 08/03/2006, 13h06
  3. [](VB) Récupérer les données dans un fichier .xml
    Par Furius dans le forum VBScript
    Réponses: 4
    Dernier message: 02/10/2005, 20h39
  4. Supprimer les guillemets dans un fichier après écriture
    Par soulryo dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 01/03/2005, 11h39
  5. Réponses: 22
    Dernier message: 29/01/2005, 11h29

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