007
24.03.2006, 16:20 Uhr
ao
(Operator)
|
Zitat von Patricia: |
ich kann aber den parameter nicht in const char* ändern, da die Fkt nicht von mir ist und sie den wert in der Fkt noch ändert.
|
In diesem Fall musst du den std::string in ein char-Array kopieren, z.B. so:
C++: |
std::string s = "Hier ist der String";
int n = s.length (); // Länge bestimmen; brauchen wir ein paar mal char * pcCopy = new char [n + 1]; // Array holen ::memset (pcCopy, 0, n + 1); // Array initialisieren s.copy (pcCopy, n); // String-Daten kopieren
func (pcCopy); // Funktion aufrufen
delete [] pcCopy; // Aufräumen
|
Das ist lästig und sieht kacke aus, aber C-C++-Interface-Code ist selten schön.
ao Dieser Post wurde am 24.03.2006 um 16:23 Uhr von ao editiert. |