Warum geht das nicht?
-
Hallo,
habe ein Grundsatzproblem mit character arrays und den idiotischen assertion failed Meldungen.
Kann mir jemand sagen, warum der folgende Code nicht funktioniert bzw. warum hier ein Assertion Failure auftritt, oder noch besser, wie man es richtig macht?void Funktion(/*const */char *pchString) { char *pchCopy = new char[GetLength(pchString)]; strcpy(pchCopy, pchString); delete[] pchCopy; }
Egal, ob const char* oder nicht als Parameter, der Code geht in die Hose.
Lass ich strcpy weg, geht's.Was kann man da machen?
-
ich kenne GetLength nicht, aber ich nehme an es wird die Länge des string zurückgeben... du allokierst somit ein byte zuwenig ('\0' Byte am Ende des strings)
-
Tatsächlich, das war's
Sorry, ist schon spät heute. Danke!!
-
Tatsächlich, das war's
Sorry, ist schon spät heute. Danke!!