Supportnet Computer
Planet of Tech

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
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

hier findest du es genauer erklärt (Englisch)

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 !?!?!

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;

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()));



;)