System::String* in std::string umwandeln?
-
Hallo
wie wandle ich einen System::String* in einen std::string um? (in C++)
und wie kopier ich den Inhalt z.B. Von ner textBox in einen solchen string? Naja mit textBox->get_Text(); aber keine ahnung wie ich das in ne Variabel krieg...mfg burnner
-
hmm weiss das niemand
?
-
kann gelöscht werden^^ habs durch stundenlanges versuchen gelöst
-
Eine Möglichkeit wäre, wenn du dein native C++ in eine DLL auslagerst und dir die benötigten Funktionen dann mit DllImport in C++.net importierst. Dann kannst du einen System.String übergeben, wenn die Funktion intern eigentlich mit einem String aus der STL arbeitet. Zumindes funktioniert das in C# so. Wobei ich zugeben muss das das nicht die optimale Lösung ist. Andererseits würde es sinn machen native C++ von C++.net zu trennen.
-
void SysStringToString(System::String* str, std::string &str_str) { int i; for(i=0;i<str->get_Length();i++) str_str += str->get_Chars(i); }
So gehts auch
-
burnner schrieb:
kann gelöscht werden^^ habs durch stundenlanges versuchen gelöst
Also ich hatte die Lösung nach einer halben Minute googlen.
-
So ne eigene Funktion ist zwar schnell geschrieben, aber ich hätte auch erstma gesucht ob es da nicht vielleicht andere Möglichkeiten gibt.