Daten aus *.txt-Files lesen und in neuen txt-Files speichern

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Daten aus *.txt-Files lesen und in neuen txt-Files speichern

    Hallo,

    ich bin absoluter C-Anfänger (will es aber lernen).
    Ich will mir ein Programm schreiben, welches folgende Aufgabe löst:

    Ich habe einen Ornder mit sehr vielen Protokollen (ca. 25.000). DIese Protokolle sind *.txt-Dateien.
    Der Name der Datei ist das Datum und die Uhrzeit. In den Dateien stehen unendlich viele Informationen. Mich interessieren aber nur ganz bestimmte.
    Die Informationen, welche ich benötige, stehen im Text unter einer bestimmten Überschrift und sind mit einem Semikolon getrennt.
    Textbeispiel:

    "Frequenz[MHz]
    24124,843 ; 24124,814 ; 24124,814 ; ......."

    Ich möchte nun aus jedem txt-File, welches im lokalen Ordner liegt, die Werte auslesen und in einem seperaten .txt-File speichern.
    Die Informationen eines jeden Files sollen in dem neuen File eine Zeile darstellen. Die erste "Spalte" jeder Zeile soll der Protokollname der Datei sein, aus dem die Information stammt.

    Dateiname1.txt ; 24124,843 ; 24124,814 ; 24124,814 ; .......
    Dateiname2.txt ; 24125,843 ; 24125,814 ; 24125,814 ; .......
    Dateiname3.txt ; 24123,843 ; 24123,814 ; 24123,814 ; ....... etc.



    Für C-Gurus ein leichtes Spiel. Für mich noch eine Welt entfernt.

    Hat jemand von euch ein Stück Code, welches diesen Zweck (oder so ähnlich) erfüllt, damit ich nicht bei Null anfangen muss und etwas Zeit sparen kann?

    Vielen Dank schon mal im Voraus
    Maik
  • C oder C++?

    Beide bieten keine Möglichkeit die einzelnen Dateien aus dem Ordner zu lesen wenn du nicht den Dateinamen kennst. Theoretisch könntest du zwar alle durchprobieren (sämmtliche in Frage kommenden Dateinamen öffnen und schauen ob sie existieren) das ist aber eher unpraktikabel.

    Unter C kannst du uns sagen welches OS du verwendest - da gehts eigentlich nur über die API mit C++ würde boost::filesystem in Frage kommen.

    Sind die Werte tatsächlich floats mit ',' als Trennzeichen, nicht '.'?

    In C wäre das dann fscanf(); in C++ fstream & >>
    There are only 10 types of people in the world: Those who understand binary, and those who don't.

    Download meines ersten Spiels:HIER
    Über Feedback würde ich mich freuen ;)