System String zu Standard String
Hallo,
Ich will meinen vorhandenen System String in einen Standard String konvertieren ....wie geht das ?
mit freundlichen Grüßen,
MarcoOoOo
Antwort schreiben
Antwort 1 von Supermax vom 11.12.2020, 15:44 Options
In welcher Programmiersprache denn? C++?
Antwort 2 von MarcoOoOo vom 11.12.2020, 15:45 Options
ja c++ sorry hab ich ganz vergessen zu schreiben
Antwort 3 von Supermax vom 11.12.2020, 16:01 Options
Es müßte mit der Methode c_str() des String-Objekts funktionieren.
Antwort 4 von MarcoOoOo vom 11.12.2020, 16:20 Options
kannste mir vieleicht ne Beispielzeile schreiben ? wär sehr nett
Antwort 5 von Supermax vom 11.12.2020, 20:09 Options
Nehmen wir an myString wäre dein String-Objekt, dann würdest du mit
char *cString;
cString = myString.c_str();
in cString den 0-terminierten C-String. Da dieser Bereich beim nächsten Aufruf von c_str() möglicherweise überschrieben wird, muß cString danach in einen selbst reservierten Speicherbereich kopiert werden, z.B. mit den C-Funktionen strcpy() oder strncpy().
Antwort 6 von Supermax vom 11.12.2020, 20:10 Options
hier findest du es genauer erklärt (Englisch)
Antwort 7 von MarcoOoOo vom 11.12.2020, 20:30 Options
aber das ist nich so recht das was ich meine ....
Beispiel:
System::String Test = " abc";
std::string Test2 = ...
der Inhalt der String Variablen Test soll in die String Variable Test2 (die von einer anderen Lybery stammt) geschrieben werden !?!?!
Antwort 8 von Supermax vom 11.12.2020, 20:45 Options
Ist System.String eine Klasse aus dem .NET-Framework?
Antwort 9 von MarcoOoOo vom 11.12.2020, 21:06 Options
ähmm ja weiß nich genau was das ist ^^
aber es wird so definiert
using namespace std;
Antwort 10 von Supermax vom 11.12.2020, 21:20 Options
Unter welchem Entwicklungssystem programmierst du denn?
Antwort 11 von MarcoOoOo vom 12.12.2020, 08:21 Options
Visual Stufio 2005 c++
aber habs hinbekommen....
//nötig für Marshal::
using namespace System::Runtime::InteropServices;
#include <stdio.h>
System::IntPtr strPtr1= Marshal::StringToHGlobalAnsi(NACHNAME1);
std::string NACH(reinterpret_cast<char*>(strPtr1.ToPointer()));
;)