Gast
#808925
Hi, ich möchte aus einer Funktion einen String zurückgeben...wie mach ich das am besten?
|
Anzeige
|
Array als Rückgabewert einer Funktion
Gast
#808925
Hi, ich möchte aus einer Funktion einen String zurückgeben...wie mach ich das am besten? Du gibst einen Pointer auf dem String zurück.
Gast
#808931
sorry ich habe leider noch nicht so viel Plan also ich möchte errreichen, dass ich schreiben kann: string=stringfunktion(xxx); Rudi wrote: > Hi, > ich möchte aus einer Funktion einen String zurückgeben...wie mach ich > das am besten? Kommt auf den String an. Ist es ein String-Literal, dann kann man einfach einen Pointer darauf zurückgeben.
Ist es keines, dann ist die beste Option (leider) die, dass der Aufrufer einen Pointer auf ein Array übergibt, welches gross genug ist, dass der String dort auch hineinpassen wird. Am besten übergibt der Aufrufer auch noch die Größe dieses Arrays, damit die Funktion sich vor Array Überläufen schützen kann.
oder
Ist dies nicht möglich, weil zb. die Stringgröße im Vorfeld nicht abgeschätzt werden kann, dann kann die Funktion den Speicher auch dynamisch anlegen und einen Pointer zurückliefern. Das hat aber den Nachteil, dass der Aufrufer nicht vergessen darf, den Speicher auch wieder frei zu geben
Gast
#808966
ok danke erstmal aber was bitte ist ein String-Literal? Rudi wrote:
> ok danke erstmal aber was bitte ist ein String-Literal?
Ein konstanter Text.
(Dabei hab ich extra noch Beispiele hingemacht, damit man die
Unterschiede in den einzelnen Varianten sieht)
Gast
#809458
Also mir hat lesen anfangs viel gebracht :) Schau dir mal dieses Buch an. Das erklärt schon mla einiges. http://www.galileocomputing.de/openbook/c_von_a_bis_z/ Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|