Préféré la conversion de char (pas de char*) à std::string
J'ai un char
, un simple vieux personnage, que je voudrais transformer en un std::string
. std::string(char)
n'existe pas de cours. J'ai pu créer un tableau de char et de le copier dans, je pourrais passer par la chaîne de flux, ou de nombreux autres petit rond-point des itinéraires. Actuellement, je préfère boost::lexical_cast
, mais même cela semble trop verbeux pour cette simple tâche. Alors, quel est le moyen préféré?
Vous devez vous connecter pour publier un commentaire.
std::string
a un constructeur qui prend un nombre et un personnage. Le personnage répétez l'opération pour le nombre donné de fois. Ainsi, vous devez utiliser:char x[] = { 'a', 'b', 'c' }
? )std::string(x, 3)
.std::string(&ch, 1)
.suffit d'utiliser la surcharge qui prend un char?
c'est à dire
string(1, 'A')
Vous pouvez toujours utiliser la chaîne constructeur prenant deux itérateurs:
Mise à jour:
Bonne question, James et GMan. Juste cherché à télécharger gratuitement "La Nouvelle Norme C" par Derek M. Jones pour "pointeur passé" et mon premier succès a été:
Cela fonctionne sur gcc C++ 4.9.2 (http://ideone.com/f3qhTe)
À ajouter à la réponse, vous pouvez simplement utiliser la liste des initialiseurs