La conversion de String^ à std::string (chaîne de base) -> Erreur. Comment puis-je résoudre ce problème?
J'essaie de convertir une Chaîne de caractères^ à la base de la chaîne...mais je reçois l'erreur une fois ce code. Ce qui signifie-t-il et comment puis-je résoudre ce problème? J'ai besoin de faire la saisie de chaîne de base dans un constructeur de classe. La chaîne^ ne fonctionnerait pas.
System::String^ temp = textBox1->Text;
string dummy = System::Convert::ToString(temp);
error C2440: 'initialisation' : impossible de convertir de 'System::String ^' à 'std::basic_string' 1> avec 1> [ 1> _Elem=char, 1> _Traits=std::char_traits, 1> _Ax=std::allocator 1> ] 1> Aucun constructeur peut prendre le type de la source, ou d'un constructeur de résolution de surcharge est ambigu
OriginalL'auteur | 2009-04-22
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin de maréchal de votre chaîne. La gestion de la chaîne se trouve quelque part sur le tas managé (garbage collector est libre de le déplacer).
Une façon d'avoir de la chaîne latérale natif est comme suit:
Si vous utilisez Visual Studio 2008, vous pouvez profiter de beaucoup plus agréable de regroupement des services publics. Consultez cette page MSDN.
OriginalL'auteur Filip Frącz
Je passe 11h pour trouver une solution:
OriginalL'auteur Alejandro Perea
Vous devez faire deux choses pour convertir un
System::String
à unstd::string
:Une façon, sans avoir à vous soucier de libérer de l'HGlobal mémoire est de définir une méthode, le long des lignes de:
Et que vous souhaitez utiliser comme:
Ceci vous permet également d'utiliser l'encodage de votre choix (utf-8 sur ascii), mais vous ne pouvez pas vraiment besoin de cela.
OriginalL'auteur Corey Ross
Peut-être, vous aurez besoin de l'inverse de la conversion, de
std::string
àString^
.J'étais à la recherche de cette conversion, mais je n'ai pas trouvé. Donc, je l'ai écrit. J'espère que ce sera utile pour quelqu'un:
OriginalL'auteur Pavel Mikhaylov
Je pense que vous pouvez aussi simplement faire:
Découvrez Comment: Convertir Entre Les Différents Types De Chaînes sur MSDN.
OriginalL'auteur Aaron Fischer
OriginalL'auteur Ion Vlad-Doru