Supportnet / Forum / Anwendungen(Java,C++...)
System String zu Standard String
Frage
Hallo,
Ich will meinen vorhandenen System String in einen Standard String konvertieren ....wie geht das ?
mit freundlichen Grüßen,
MarcoOoOo
Antwort 1 von Supermax
In welcher Programmiersprache denn? C++?
Antwort 2 von MarcoOoOo
ja c++ sorry hab ich ganz vergessen zu schreiben
Antwort 3 von Supermax
Es müßte mit der Methode c_str() des String-Objekts funktionieren.
Antwort 4 von MarcoOoOo
kannste mir vieleicht ne Beispielzeile schreiben ? wär sehr nett
Antwort 5 von Supermax
Nehmen wir an myString wäre dein String-Objekt, dann würdest du mit
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().
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
Antwort 7 von MarcoOoOo
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 !?!?!
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
Ist System.String eine Klasse aus dem .NET-Framework?
Antwort 9 von MarcoOoOo
ähmm ja weiß nich genau was das ist ^^
aber es wird so definiert
using namespace std;
aber es wird so definiert
using namespace std;
Antwort 10 von Supermax
Unter welchem Entwicklungssystem programmierst du denn?
Antwort 11 von MarcoOoOo
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()));
;)
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()));
;)

