ASCII bzw. txt- Datei einlesen
-
Hallo Leute,
ich habe ein Problem und bräuchte dringend fachlichen Rat. Ich hoffe ihr könnt mir da helfen. Ich habe mit C leider keine großen Erfahrungen, bin jedoch plötzlich darauf angewiesen.
Folgendes Problem:Ich möchte eine Text-Datei einlesen die folgendermaßen aufgebaut ist.
Datum Zeit Kraft Weg
Einheit Einheit Einheit Einheit
16.11.2009 10:12:44.235 1123 -45Das heist also, dass die ersten beiden Zeilen Text enthalten, den ich nicht brauche. Das Trennzeichen zwischen den Spalten ist der Tabulator.
Ich möchte jetzt die Daten einlesen, und zwar so, dass ich die Zahlen auch für spätere Berechnungen nutzen kann. Das Ergebnis der Berechnung würde ich dann gerne für jede Zeile in die gleiche Datei in ein neue Spalte schreiben wollen.
Das ganze kann von mir aus Zeilenweise geschehen oder in eine komplette Matrix. Da weis ich leider nicht was besser ist und was überhaupt geht.Ich hoffe ihr könnt mir helfen...bitte!!!
Vielen Dank schonmal!!!
Gruß
Maddin
-
MS@GL schrieb:
. Ich habe mit C leider keine großen Erfahrungen, bin jedoch plötzlich darauf angewiesen.
Bevor ich jetzt viel Mühe in eine Erklärung für C++ stecke (denn du hast im C++ und nicht im C Unterforum gefragt), wollte ich nochmal nachfragen, welche Sprache es denn nun sein darf?
Folgendes Problem:
Ich möchte eine Text-Datei einlesen die folgendermaßen aufgebaut ist.
Datum Zeit Kraft Weg
Einheit Einheit Einheit Einheit
16.11.2009 10:12:44.235 1123 -45Das heist also, dass die ersten beiden Zeilen Text enthalten, den ich nicht brauche. Das Trennzeichen zwischen den Spalten ist der Tabulator.
Ich möchte jetzt die Daten einlesen, und zwar so, dass ich die Zahlen auch für spätere Berechnungen nutzen kann. Das Ergebnis der Berechnung würde ich dann gerne für jede Zeile in die gleiche Datei in ein neue Spalte schreiben wollen.
Das ganze kann von mir aus Zeilenweise geschehen oder in eine komplette Matrix. Da weis ich leider nicht was besser ist und was überhaupt geht.Das ist überhaupt kein Problem, da der istream Operator >> bereits automatisch whitespace, wie Tabulator, als Trennzeichen benutzt. Das heißt, du kannst einfach sowas machen:
mein_datei_stream >> datum >> zeit >> kraft >> weg;Dabei sind datum, zeit, kraft und weg Variablen vom Typ den du in deiner späteren Berechnung benötigst. Werte für spätere Verwendung speichern kannst du zum Beispiel mit std::vector. Und das Überspringen von Zeilen kannst du mit istream::ignore machen, oder indem du einfach die Zeilen in Dummyvariablen einliest, deren Inhalt du dann verwirfst.
Hier kannst du eine gute Referenz zu den genannten Klassen und Methoden finden:
-
Hi, ja du hast recht. Ich benutzt C ! Das Unterforum habe ich dann wohl nicht gefunden. Aber vielleicht kannst du mir ja trotzdem helfen. Mit dem "istream" hört sich das ja schon ganz gut an, aber leider bin ich da noch nicht hinter gestiegen. Ich wäre dir sehr dankbar, wenn du mir das etwas ausführlicher erklären könntest.
Danke Dir!
Gruß
Maddin
-
MS@GL schrieb:
Hi, ja du hast recht. Ich benutzt C ! Das Unterforum habe ich dann wohl nicht gefunden. Aber vielleicht kannst du mir ja trotzdem helfen. Mit dem "istream" hört sich das ja schon ganz gut an, aber leider bin ich da noch nicht hinter gestiegen. Ich wäre dir sehr dankbar, wenn du mir das etwas ausführlicher erklären könntest.
Ja, das könnte ich weiter erklären, aber ich sollte dich wohl darauf aufmerksam machen, dass es sämtliche Sachen die ich beschrieben habe, auch den istream, nur in C++ und nicht in C gibt. Mit C kann man deine Datei natürlich ebenfalls recht einfach auslesen. Experten dafür findest du im Unterforum "ANSI C".
-
hab vielen Dank, ich werde da mein Glück versuchen
