Convertir un tableau de char en string - Help

Résolu/Fermé
Denis975 Messages postés 4 Date d'inscription jeudi 29 décembre 2016 Statut Membre Dernière intervention 2 janvier 2017 - 29 déc. 2016 à 08:48
Denis975 Messages postés 4 Date d'inscription jeudi 29 décembre 2016 Statut Membre Dernière intervention 2 janvier 2017 - 2 janv. 2017 à 11:46
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 ?
A voir également:

1 réponse

pkpkmépkpk Messages postés 341 Date d'inscription samedi 14 mai 2011 Statut Membre Dernière intervention 14 janvier 2018 52
29 déc. 2016 à 17:16
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";
Denis975 Messages postés 4 Date d'inscription jeudi 29 décembre 2016 Statut Membre Dernière intervention 2 janvier 2017
31 déc. 2016 à 09:43
Merci beaucoup ! Ca marche nickel !
0
Denis975 Messages postés 4 Date d'inscription jeudi 29 décembre 2016 Statut Membre Dernière intervention 2 janvier 2017
31 déc. 2016 à 10:02
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
pkpkmépkpk Messages postés 341 Date d'inscription samedi 14 mai 2011 Statut Membre Dernière intervention 14 janvier 2018 52
31 déc. 2016 à 14:11
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
Denis975 Messages postés 4 Date d'inscription jeudi 29 décembre 2016 Statut Membre Dernière intervention 2 janvier 2017 > pkpkmépkpk Messages postés 341 Date d'inscription samedi 14 mai 2011 Statut Membre Dernière intervention 14 janvier 2018
2 janv. 2017 à 11:46
Merci mille fois ! Ton aide m'est très utile !
0