Programmieren - alles kontrollieren 4.939 Themen, 20.672 Beiträge

String als Rückgabewert einer Funktion (C)

vesala / 6 Antworten / Flachansicht Nickles

nabend,


ist es möglich einen string(z.B: char feld[20];) als rückgabewert zurückzugeben?
also return feld;


wenn ja wie definiere ich dann die Funktion, habe bis jetzt nur Zeiger auf globalen String oder einen einzelnen char hinbekommen->welches mir beides nix nützt


THX Vesala

bei Antwort benachrichtigen
vesala Nachtrag zu: „String als Rückgabewert einer Funktion (C)“
Optionen

die funktion macht folgendes:
sie holt aus einer Textdatei eine bestimmt Zeile und soll diese zurück geben, bisher lief das so

char* holeZeile(int ZeilenNr)

in der Funktion wurde dann der ausgelesene String in eine globale Variable(char array) geschrieben, und der Zeiger auf dieses Array zurückgegeben.

Nun habe ich aber folgendes Problem:
ich rufe diese Funktion 2mal direkt hintereinander auf
zb: Popup(holeZeile(1),holeZeile(2));
in Zeile1 steht die Überschrift des Popups
in Zeile2 steht der Popuptext
dies funktioniert so natürlich nicht da der 2te Aufruf der holeZeile Funktion natürlich den Wert des 1ten Aufrufs überschreibt :-(

deswegen dachte ich mir geb ich doch einfach direkt nen string zurück,
aber der compiler wollte mein Problem auch nach langem zureden nicht verstehen ;-)

Problem erkannt?
THX Vesala

bei Antwort benachrichtigen