280 votes

Comment faire pour convertir un tableau char en chaîne ?

La conversion d'un C ++ string en un tableau de caractères est assez simple en utilisant la fonction c_str de la chaîne, puis en effectuant strcpy . Cependant, comment faire le contraire?

J'ai un tableau de caractères comme: char arr[ ] = "This is a test"; à reconvertir en: string str = "This is a test .

395voto

Mysticial Points 180300

La classe string a un constructeur qui prend une chaîne C terminée par NULL:

 char arr[ ] = "This is a test";

string str(arr);


//  You can also assign directly to a string.
str = "This is another string";
 

58voto

stackPopper Points 109

Vous pouvez aussi faire:

string str = string(arr);

EDIT: la raison pour laquelle j'ai posté ce qui semble redondant réponse (par rapport à la Mystique de l') c'est parce que je suis tombé sur cette page quand j'ai essayé de résoudre une situation simplifiée ci-dessous:

cout << "This is the string version of my char array: " + string(arr);

Je n'avais tout simplement pas envie de le faire, si je pouvais éliminer une ligne inutiles et variable:

string str(arr);
cout << "This is the string version of my char array: " + str;

Dans mon réel problème, en raison d'une mauvaise planification, j'ai été présenté avec tout un tas de tableaux de char stockées dans de nombreuses variables différentes et avaient à les relier en une chaîne de caractères dans un mode similaire comme je l'ai montré. Il a été l'un de chaîne par l'aide de la chaîne(arr) au lieu de déclarer une variable de chaîne je me suis épargné une seule ligne (et variable) par char tableau.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X