String Umwandeln
-
Hallo,
Ich wollte wissen wie ich "System::String ^" und "std::string" zueinander convertieren kann?
Kann jemand bitte helfen?
-
Dieser Thread wurde von Moderator/in volkard aus dem Forum C++ (auch C++0x) in das Forum C++/CLI mit .NET verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Ich muss sie eigentlich nicht umbedingt konvertieren. Ich brauche die miteinander zu vergleichen.
private: System::Windows::Forms::TextBox^ textBox1; if (string dummy = textBox1->Text)
wass soll ich anstatt diesem code schreiben?
-
Es gibt zwei FAQ Einträge zu den Konvertierungen, ev. gibt es in der Zwischenzeit schon andere / bessere Möglichkeiten:
http://www.c-plusplus.net/forum/158664
http://www.c-plusplus.net/forum/158666Du könntest so vorgehen:
1. std::string via std::string::c_str() in ein System::String^ umwandlen.
2. Vergleiche dann die zwei System::String^.
-
Google hätte zumindest bei Problem eins geholfen.
-
Hallo Leute,
habe folgendes Problem:
Ich möchte mehrer System::String^ in std::string umwandeln und habe dafuer folgende Methode geschrieben:public: System::Void generateSTDString(String^ Text){
const char* chars = (const char*)(Marshal::StringToHGlobalAnsi(Text)).ToPointer( );
string stringTMP = chars;
Marshal::FreeHGlobal(IntPtr((void*)chars));
return stringTMP;}
Wenn ich die Methode einmal aufrufe funktioniert alles wunderbar. Beim 2ten Methodenaufruf jedoch wirft er eine Exception.
Weiss jemand warum?
Gruss Ray