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 :

Tableau de String


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de Claude URBAN
    Homme Profil pro
    Prendre le temps de vivre. . .
    Inscrit en
    Mai 2006
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Prendre le temps de vivre. . .

    Informations forums :
    Inscription : Mai 2006
    Messages : 274
    Par défaut Tableau de String
    Bonjour,

    J'en ai assez de me prendre la tête à chercher partout une réponse à mon problème (certainement très simple) de tableaux, aussi j'en appelle à la communauté pour m'aider.

    Sauf erreur et autant que je m'en souvienne, en Java, l'on peut faire ceci:
    String variableNom[3] = {"abcd","efgh","ijkl"};

    Impossible de faire la même chose en C++ sous Builder 6.

    Réponse du prog: variableNom [0] = 8795436, variableNom [1] = 8795456, variableNom [2] = 8795476

    Quelqu'un pourrait-il m'expliquer ce résultat ?
    et
    Comment faire pour initialiser un tableau avec des Strings?

    J'ai aussi cherché vainement un petit cours ou tuto sur les tableaux en C++... (je pense que j'en ai bien besoin.. ) pouvez-vous m'indiquer un lien sur ce sujet.

    D'avance merci.

    Claude

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 393
    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 393
    Par défaut
    Euh... Tu nous parles de System::String (.Net), de std::string (C++ standard) ou d'un type String propre à BCB ?

    Et comment les affiches-tu ?
    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 éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 413
    Par défaut
    Pour des infos sur les chaines de caractères en C++ => ICI

    Mais comme le dit médinoc, il existe aussi d'autres types de String non standards.

    Sinon pour moi, pour initialiser un tableau de string :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    #include <string>
     
    string tabString[] = {"un","deux","trois"};
    Mais je n'ai pas testé...

  4. #4
    Membre éclairé
    Avatar de Claude URBAN
    Homme Profil pro
    Prendre le temps de vivre. . .
    Inscrit en
    Mai 2006
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Prendre le temps de vivre. . .

    Informations forums :
    Inscription : Mai 2006
    Messages : 274
    Par défaut
    Il s'agit du C++ Standard.
    Et comment les affiches-tu ?
    printf(" jeu 0 = %d\n",jeux[0]);
    printf(" jeu 1 = %d\n",jeux[1]);
    printf(" jeu 2 = %d\n",jeux[2]);
    ---------------------------------

    j'essaie de suite la méthode "NicolasJolet" et je vous tiens au courant.
    mais peut-être ai-je tout simplement oublié #include<string>

    @++ et en attendant merci & bravo pour votre réactivité.

  5. #5
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 393
    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 393
    Par défaut
    1. std::string est une classe : On ne peut afficher une classe avec printf(), sauf si elle est prévue pour ça (comme la CString de MFC, qui ne contient qu'un TCHAR *, le reste de ses données étant planquées).
    2. Tu essaies d'afficher des chaînes avec %d...
    3. En C++, on utilise les streams: std::cout << jeux[0] << std::endl;
    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.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 413
    Par défaut
    Et comment les affiches-tu ?
    printf(" jeu 0 = %d\n",jeux[0]);
    printf(" jeu 1 = %d\n",jeux[1]);
    printf(" jeu 2 = %d\n",jeux[2]);
    Plusieurs remarques :
    • Pour afficher une chaine de caractère avec printf, que ça soit du C ou C++, j'utiliserai plutot %s et non %d, mais tu parles peut-être ici d'integers.
    • En C++, on utilise de préférence les flux :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      cout << " jeu 0 = " << jeux[0] << endl;
      ...
    • D'autant plus, si tu utilises le type string standard, printf ne conviendra plus vu que la chaine n'est pas censée être contigüe en mémoire (à moins d'utiliser la méthode : .c_str())



    [EDIT]Trop lent

  7. #7
    Membre éclairé
    Avatar de Claude URBAN
    Homme Profil pro
    Prendre le temps de vivre. . .
    Inscrit en
    Mai 2006
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Prendre le temps de vivre. . .

    Informations forums :
    Inscription : Mai 2006
    Messages : 274
    Par défaut
    Et bien non, je n'avais pas oublié le #include<string>

    Vérifications faites = idem... je ne comprends pas!

    Voila le petit bout de prg:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    void Cartes::distribution(){ 
     
    String jeux[]={"abcd","efgh","ijkl","mnop"};
     
    printf("  jeu 0 = %d\n",jeux[0]);
    printf("  jeu 1 = %d\n",jeux[1]);
    printf("  jeu 2 = %d\n",jeux[2]);
    }
    résultat (sous console):
    jeux [0] = 8795436
    jeux [1] = 8795456
    jeux [2] = 8795476


    .....................

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 413
    Par défaut
    As-tu lu nos réponses? (Celles qui sont identiques)

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

Discussions similaires

  1. Tester si une String fait partie d'un tableau de String
    Par laloi dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 23/04/2005, 16h47
  2. [J2SE] tableau de string
    Par Jules82 dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 17/03/2005, 14h35
  3. Ranger un tableau de String dans ma HashMap
    Par jeyce dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 26/08/2004, 22h41
  4. [Collections] Conversion de Vector en tableau de String
    Par java_math dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 06/06/2004, 12h55
  5. [Collections] Tableau de String
    Par gexti dans le forum Collection et Stream
    Réponses: 11
    Dernier message: 02/06/2004, 15h42

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