PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : in c ein string von einer funktion in die andere



avuton
07-01-2003, 16:39
Hallo kann mir jemand sagen, wie ich den Inhalt eines String,der in einer subfunktion steht in der Main abrufen kann.
ein beispiel wäre nett.
Danke Avuton

nickers
07-01-2003, 18:06
#include <stdio.h>

char *func()

main()
{
printf("%s", func());
}

char *func()
{
return "hallo";
}


vielleicht so?

nickers

microdigi
07-01-2003, 18:07
da solltest du besonders gut aufpassen,
dass deine 'sub' ueberhaupt noch 'lebt',
wenn du auf deren string zugreifen moechtest.

sollte der string auf dem 'sub'-stack
also rein innerhalb der 'sub' liegen,
dann ist er beim verlassen der 'sub' auch schon wieder weg.
der stack wird naemlich aufgeloest / freigegeben.
und dann greifst du 'ins leere' in der main,
und das mag das system in den wenigsten faellen (gp).

hoffe, dass dir die info hilft.
gruss - digi

nickers
07-01-2003, 22:27
Stimmt, hab ich nicht dran gedacht in der Eile.

nickers

avuton
08-01-2003, 08:02
geht das dann in dem return mit einem char genauso?
und was war denn jetzt davor falsch oder besser,wie ist es richtig?
danke avuton

nickers
08-01-2003, 09:12
func() gibt einen Zeiger auf eine Position im Speicher zurück. Da zum Zeitpunkt der Ausgabe in main() die Funktion func() bereits beendet ist, kann es sein das die entsprechende Stelle im Speicher schon mit etwas anderem "beschrieben" wurde und darum das Ergebnis falsch wird.

nickers

avuton
08-01-2003, 09:52
achso danke