Convertir un tableau de char en string - Help
Résolu
Denis975
Messages postés
4
Statut
Membre
-
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 ?
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
-
Bonjour,
Il faut utiliser un des constructeurs destring
:string texte(test,3);
Remarque : ta chaîne de caractèrestest
devrait se terminer par'\0'
. Ce qui donne :char test[5+1]; // ... test[5] = '\0';
ou plus simplement :char test[5+1] = "Bobby";
-
-
-
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 destring
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);
-