Zitat von
BCBfe:
Hope that helps.
Sorry für die Edits im vorherigen Beitrag. Ich hatte nur nach dem String zusammenfügen geschaut und einen anderen Fehler in deinem Code übersehen. Du kannst nicht in einer Function ein Array anlegen und einen Zeiger darauf als Rückgabewert zurückgeben. Nach dem Funktionsaufruf ist das Array weg und der Zeiger zeigt auf ungültigen Speicher.
Das sollte in Delphi aber auch so sein.
Wenn es also unbeding C sein soll
Code:
char* brackets(char* eingabe)
{
char* ret = malloc(strlen(eingabe) + 3);
strcpy(ret, "(");
strcat(ret, eingabe);
strcat(ret, ")");
return ret;
}
Der zurückgegebene Pointer muss mit free wieder freigegeben werden.
Mit reinen C++-Strings sähe es so aus:
Code:
std::string brackets2(const std::string& eingabe)
{
std::string ret("(");
ret += eingabe;
ret += ")";
return ret;
}
Tschüß
Frank