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 :

Structure ou classe de chaînes de carctères fixes


Sujet :

C++

  1. #1
    Nouveau membre du Club

    Homme Profil pro
    Ing. dev
    Inscrit en
    Septembre 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing. dev
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2009
    Messages : 29
    Points : 29
    Points
    29
    Billets dans le blog
    1
    Par défaut Structure ou classe de chaînes de carctères fixes
    Bonjour,

    A plusieurs endroits dans mon code j'ai besoin d'utiliser des chaines de caractères identiques.
    Ceci pour accéder à :
    - Nom de fichier
    - Chemin
    - Référence
    ...

    Dans l'idée j'aimerais faire une structure Data qui contient des chaînes de caractères fixes (non modifiable). Par ex :
    Data.File.Name
    Data.File.Path
    Data.Section.Name
    Data.Section.Var

    J'aimerais savoir la syntaxe pour créer une structure ou une classe contenant ce genre d’information... Je suis une pive j'y arrive pas

    Merci et excellente journée
    Stéphane


    PS Je n'aimerais pas utiliser de #define ou const char FileName[] = "MonNomdeFichier"

  2. #2
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 12
    Points : 21
    Points
    21
    Par défaut
    Pourrais tu nous expliquer pourquoi tu n'aimerais pas utiliser des #DEFINE ou des const char ?

    C'est ce que j'aurais fait personnellement.

  3. #3
    Nouveau membre du Club

    Homme Profil pro
    Ing. dev
    Inscrit en
    Septembre 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing. dev
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2009
    Messages : 29
    Points : 29
    Points
    29
    Billets dans le blog
    1
    Par défaut
    Parce que :
    - j'aime bien les structures
    - ça permet d'avoir une nomenclature et d'organiser les variables
    - mon éditeur me propose automatiquement la liste des membres lorsque j'appuie sur le '.'
    - ...
    - avec un #define il n'est pas pas possible de voir la valeur en debug

    Ce que je voulais dire sur avec le const char * c'est que je ne voulais pas créer x variables de ce type. Mais si je peux mettre un const char * dans une structure ça me va. Mais j'aimerais avoir la syntaxe sivouppléé

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 764
    Points : 2 705
    Points
    2 705
    Par défaut
    Utilise un espace de nommage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    namespace myStrings
    {
        const string1("aaa");
        const string2("bbb");
        ....
    }

  5. #5
    Nouveau membre du Club

    Homme Profil pro
    Ing. dev
    Inscrit en
    Septembre 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing. dev
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2009
    Messages : 29
    Points : 29
    Points
    29
    Billets dans le blog
    1
    Par défaut
    merci.

    Jusqu'ici j'avais jamais utilisé d'espace de nommage

    Mais... je ne veux pas faire mon pénible... allez si.... comment faire en C ?

  6. #6
    Expert confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Points : 4 551
    Points
    4 551
    Par défaut
    Citation Envoyé par lesteph Voir le message
    merci.

    Jusqu'ici j'avais jamais utilisé d'espace de nommage

    Mais... je ne veux pas faire mon pénible... allez si.... comment faire en C ?
    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
    32
    33
     
    struct x
    {
      const char* s1;
      const char *s2;
    };
     
    struct y
    {
      const char* s3;
      const char *s4;
    };
     
    struct xy
    {
      struct x *d1;
      struct y *d2;
    };
     
    struct x m_d1 = {
      .s1 = "ma valeur 1",
      .s2 = "ma valeur 2",
    };
     
    struct x m_d2 = {
      .s3 = "ma valeur 3",
      .s4 = "ma valeur 4",
    };
     
    struct xy data = {
      .d1 = &my_d1,
      .d2 = &my_d2,
    };
    [FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
    Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
    Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

  7. #7
    Nouveau membre du Club

    Homme Profil pro
    Ing. dev
    Inscrit en
    Septembre 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing. dev
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2009
    Messages : 29
    Points : 29
    Points
    29
    Billets dans le blog
    1
    Par défaut
    Merci pour la solution en C.

    Mise à part 1 ou 2 fautes de syntaxe dans le code donné, le compilo (Embarcadero C++Builder 2010) me donnait une erreur de syntaxe sur les initialisations des membres.
    Exemple: .s1 = "valeur1"

    J'ai donc corrigé comme celà :

    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
     
     
    struct x m_d1 = {
       "ma valeur 1",
       "ma valeur 2"
    };
     
    struct y m_d2 = {
      "ma valeur 3",
      "ma valeur 4"
    };
     
    struct xy data = {
      &m_d1,
      &m_d2
    };

    Pourquoi cette erreur ? Est ce une option du compilo ?
    .

  8. #8
    Expert confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Points : 4 551
    Points
    4 551
    Par défaut
    Citation Envoyé par lesteph Voir le message
    Merci pour la solution en C.

    Mise à part 1 ou 2 fautes de syntaxe dans le code donné, le compilo (Embarcadero C++Builder 2010) me donnait une erreur de syntaxe sur les initialisations des membres.
    Exemple: .s1 = "valeur1"

    J'ai donc corrigé comme celà :

    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
     
     
    struct x m_d1 = {
       "ma valeur 1",
       "ma valeur 2"
    };
     
    struct y m_d2 = {
      "ma valeur 3",
      "ma valeur 4"
    };
     
    struct xy data = {
      &m_d1,
      &m_d2
    };

    Pourquoi cette erreur ? Est ce une option du compilo ?
    .
    C'est une notation offerte par C99, et il semblerait qu'elle ne soit pas supportée par ton compilateur.
    [FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
    Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
    Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

  9. #9
    Nouveau membre du Club

    Homme Profil pro
    Ing. dev
    Inscrit en
    Septembre 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing. dev
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2009
    Messages : 29
    Points : 29
    Points
    29
    Billets dans le blog
    1
    Par défaut
    Merci à vous pour vos réponses c'est top

    J'ai eu les réponses à mes questions j'suis

    Je fermerai la discussion d'ici un ou deux jours si par hasard il y a d'autres personnes qui veulent faire des commentaires.

    Merci et meilleures salutations
    Stéphane

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

Discussions similaires

  1. Schéma structure des classes
    Par delma dans le forum EDI et Outils pour Java
    Réponses: 8
    Dernier message: 29/11/2006, 16h52
  2. [log4j] structurer par classes
    Par frouge dans le forum Logging
    Réponses: 4
    Dernier message: 25/09/2006, 11h24
  3. recherche dichotomique sur chaînes de carctères
    Par contexte dans le forum Langage
    Réponses: 4
    Dernier message: 13/04/2006, 00h31
  4. Structure de classe dynamique
    Par amel666 dans le forum Langage
    Réponses: 2
    Dernier message: 24/01/2006, 09h13
  5. structure de class?
    Par kiko69 dans le forum C++
    Réponses: 4
    Dernier message: 13/03/2005, 14h30

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