Zum Inhalt springen

FileHandle && Rekursion ?!?!?


Empfohlene Beiträge

Geschrieben

Tach,

ich habe eine Funktion, die ich Rekursiv aufrufen müsste.

Leider mit Filehandle (Lesen). Wie kann ich das anstellen?

Ich kann ja nicht jedesmal das gleiche Filehandle benutzen, oder?

Geschrieben

??? Das blickt ja keiner ??? Da muß schon etwas mehr Informationsgehalt in die Frage rein !!! Warum sollte ich nicht einen Filehandle (const natürlich) oder halt einen Puffer in dem die File-Daten drinstehen (oder Array oder was auch immer) nicht einer rekursiven Funktion mitgeben ???

Um was geht´s hier überhaupt ???

Geschrieben

:D

'tschuldigung, aber hab' mir die birne schon weichprogrammiert. ich versuch's aber nochma:

aaaalso *tieflufthol*, ich habe einen filehandle, der eine datei einliest. inhalt der datei sind dateinamen. diese werden ausgelsen.

-------------------bis hier hin fkt. alles-------

jetzt soll zu jedem dateinamen die dazugehörige datei geöffnet werden.in dieser stehen dann wieder dateinamen, die eingelsen werden sollen und dateien, die geöffnet werden sollen usw. usf.

wi ekann ich das am besten machen?

Geschrieben

Ja, mit einem Rekursiven Ansatz bist Du da bestens bedient! Es gibt aber auch die Möglichkeit einfach mal alle Dateinamen von Datei 1 in ein Array zu lesen, dann alle Folgedateien und die Inhalte am Ende einfügen. So brauchst Du nur 2 Zeiger: Einen zum öffnen neuer Dateien und einen, der auf den letzten Array-Eintrag zeigt. Versehe noch jede Datei mit einem "schon gelesen" Flag und dann gehst Du das ganze einfach der Reihe nach durch. Irgendwann ist das Array mit 1000 Dateinamen voll! Fehlerbehandlung falls eine Datei zu einem Dateinamen nicht existiert nicht vergessen! Ein Problem gibt es dabei: Es wäre möglich, daß eine Kreuzverbindung das Programm auf ewig in eine Schleife schickt, die Dir Dein Array bis zum Überlauf füllt. Vielleicht sollte man kontrollieren, ob ein Dateiname schon geöffnet wurde oder nicht und dann den Lesevorgang abbrechen.

<FONT COLOR="#a62a2a" SIZE="1">[ 12. November 2001 16:53: Beitrag 1 mal editiert, zuletzt von Crush ]</font>

Geschrieben

Kann ich für das alles EINEN Filehandle zum Lesen nutzen, oder muss mir für jede neue Datei ein eigener Filehandle definiert werden.

Ein Problem ist auch, dass nachdem eine ("Unter"-)Datei vollständig gelesen wurde, wieder zur "Hauptdatei gesprungen werden muss, bzw., im alten Filehandle weiter gemacht werden muss......

<FONT COLOR="#a62a2a" SIZE="1">[ 12. November 2001 17:22: Beitrag 1 mal editiert, zuletzt von volkaman ]</font>

Geschrieben

Mach Dir doch auch einen Stack, auf dem die Filehandles abgelegt werden, sobald ein "Unter-File" geöffnet wird und beim Verlassen nimmst Du einfach den letzten Handle. Beim Rekursiven Programmieren ist das nicht so wichtig, weil durch die Funktionsaufrufe eh jedesmal ein neuer Handle erzeugt wird, da jeder Funktionsaufruf ja ein Unterprogramm ist, welches einen eigenen Stack erhält, eigene Variablen, etc. und nur das bekannt ist, was als Parameter übergeben wird. Du darfst also schon parameter übergeben, aber bitte nicht "by reference" sondern "by value" und dann vielleicht auch noch bei Bedarf "const". Dann wird ja eine Kopie angelegt und mit der darf man munter draufloswursteln.

<FONT COLOR="#a62a2a" SIZE="1">[ 12. November 2001 17:53: Beitrag 1 mal editiert, zuletzt von Crush ]</font>

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...