Schleife über fopen
-
Hi Zusammen,
ich muss aus verschiedenen Dateien (weisen immer die gleiche Struktur auf: x y Höhe) die geologische Schichten darstellen Werte einlesen.
Gibt es eine Möglichkeit über fopen eine Schleife laufen zu lassen damit ich nicht jede Datei einzeln einlesen muss oder genauer gesagt kann ich meinen "const char Filename" so definieren, dass ich darüber die Schleife laufen lassen kann?
Cheers
-
mr.creasy schrieb:
ich muss aus verschiedenen Dateien (weisen immer die gleiche Struktur auf: x y Höhe) die geologische Schichten darstellen Werte einlesen.
Was meinst du mit "gleiche Struktur"? Die innere Anordnung der Daten oder den Aufbau des Dateinamens? Falls letzteres, könntest du eine Dreifachschleife über alle möglichen x-, y- und h-Kombinationen laufen lassen und dir jeweils den Dateinamen per sprintf() zusammenbauen lassen.
-
Meinte die innere Anordnung der Werte. Kann die Dateien aber auch so umbenennen, das sie die selbe Form aufweisen! Das sollte nicht das Problem sein.
Kannst du das mit der Dreifachschleife und sprint noch mal kurz erläutern?
Merci!
-
Das erklär doch bitte noch etwas genauer.
Sind mehrere Strukturen in mehreren Dateien verteilt ?
Oder ist jeweils eine Struktur in einer Datei.Eine Struktur hat drei Variable: x, y und Höhe richtig ?
Hast du die Möglichkeit, die Dateien selbst zu erstellen, in die du die Strukturen schreibst ? Wenn ja, dann kannst du dir nämlich Schleifen sparen und liest alle Strukturen in einem Rutsch in ein Strukturarray ein.
MfG
M.I.P.
-
Ok,
ich habe 10 Text Dateien mit den Namen LS1.txt; LS2.txt .....
Jede dieser Dateien besitzt ungefähr 10000 Zeilen. In jeder Zeile sind einem Höhenwert y und y Koordinaten zugeteilt.Die x und y Koordinaten sind in jeder Datei gleich.
Das Ziel ist es jede Datei einzulesen dann die Werte neu zu berechnen und sie dann wieder in die 10 Dateien reinzuschreiben.
Ich kann die Dateien ohne Probleme umbenennen.
Hoffe das hilft Dir weiter!
-
mr.creasy schrieb:
Kannst du das mit der Dreifachschleife und sprint noch mal kurz erläutern?
Ist hier überflüssig, weil es sowieso nicht auf dein Problem passt
mr.creasy schrieb:
ich habe 10 Text Dateien mit den Namen LS1.txt; LS2.txt .....
Na, da haben wir doch eine einheitliche Struktur der Dateinamen - "LS*.txt". Also brauchen wir nur noch eine (in dem Fall einfache) Schleife, um alle Möglichkeiten für das * durchzutesten:
char fname[13]; for(num=first;num<=last;++num) { sprintf(fname,"FS%i.txt",num); FILE* f=fopen(fname,"r"); ... fclose(f); }
-
Super,
das hilt mir weiter
Vielen dank, Cheers!