Convertir un tableau de char en string - Help

Résolu
Denis975 Messages postés 4 Statut Membre -  
Denis975 Messages postés 4 Statut Membre -
Bonjour,

Actuellement je développe une application console en C ++ mais je suis bloqué : comment convertir un tableau de char en string ?

Par exemple, voici un tableau de char:

char test[5];
test[0] = 'B';
test[1] = 'o';
test[2] = 'b';
test[3] = 'b';
test[4] = 'y';

Et que je veux que mon string "texte" soit juste égal a "Bob" et pas a "Bobby", j'avais essayer ça mais ça ne marche pas :

string texte;
texte = test[0],test[1],test[2];
cout << string;

Il ne m'affiche que la dernière lettre...

Comment dois-je faire ?

1 réponse

  1. Utilisateur anonyme
     
    Bonjour,

    Il faut utiliser un des constructeurs de
    string
    :
    string texte(test,3);

    Remarque : ta chaîne de caractères
    test
    devrait se terminer par
    '\0'
    . Ce qui donne :
    char test[5+1];
    // ...
    test[5] = '\0';
    
    ou plus simplement :
    char test[5+1] = "Bobby";
    2
    1. Denis975 Messages postés 4 Statut Membre
       
      Merci beaucoup ! Ca marche nickel !
      0
    2. Denis975 Messages postés 4 Statut Membre
       
      Mais juste un chose,si je souhaite recperer une partie précise tu tableau, genre :

      char test[5+1] = "Jean est intelligent"

      Et je veux juste recupérer "est" et pas "Jean est", comment dois je faire ?
      0
    3. Utilisateur anonyme
       
      Attention, "Jean est intelligent" contient 20 caractères, donc il faudrait déclarer :
      char test[20+1] = "Jean est intelligent";
      ou plus simplement (pour éviter d'avoir à compter) :
      char test[] = "Jean est intelligent";
       

      Mais pour répondre à ta question, je t'invite à consulter la liste des constructeurs de
      string
      ici. Tu peux ainsi constater que tu peux utiliser le (3) ainsi :
      string texte(test,5,3);
      ou le (7) comme ceci :
      string texte(test+5,test+5+3);
       
      0
      1. Denis975 Messages postés 4 Statut Membre > Utilisateur anonyme
         
        Merci mille fois ! Ton aide m'est très utile !
        0