Datentyp zur Rückgabe von Strings
-
Hallo,
char ist nicht der Rückgabedatentyp fon FUnktionen um Strings zurückzugeben, funzt irgendwie nicht. Gibts da nen anderen?char function(void)
{
//funzt nicht!!
}
-
Ein String besteht nicht aus einem einzelnen Zeichen sondern aus mehreren. In C gibts da nur die Möglichkeit einen Zeiger auf das erste Zeichen zurückzuliefern.
char* foo () { }
Aber aufgepasst! Lieber den char* bereits an foo überliefern lassen und diesen dann bearbeiten. Warum?
- Erstellst du in foo() einen neues dynamisches Char-Array mit new/malloc und gibst dieses zurück müsste sich der User um das Löschen kümmern - tut er aber nicht.
- Löscht du es drinnen bekommst du sowieso einen bösen Fehler.
- Und nein static ist auch keine Lösung
Also lieber:
DerDarfJetztWasAnderesSein foo (char* Buffer, unsigned long int Size) { }
Du kannst aber nun auch getrost char* als Rückgabetyp angeben und Buffer zurückgeben!
MfG SideWinder