Forum
Tipps
News
Menu-Icon

eingelesene Daten selektieren

Hi Leute,

ich habe einen Code geschrieben, mit dem man txt-Dateien zeilenweise (so die Aufgabenstellung) einlesen kann und hinterher wieder in einen beliebige Datei abspeichern kann.

Code:

#include <iostream>
#include <fstream>
#include <string>
#include <stdlib.h>

using namespace std;

int main(void)
{
    char *daten;
   char buffer[1024];               //zeilenweise, buffer lässt Zeilenlänge bis 1024 zu
    int dateigroesse,i=0;

   //Eingabebereich
   ifstream datein;
   string datei;
   string Puffer;
   cout <<"Bitte Pfad eingeben!"<< endl;
   cout <<"Kompletter Quellpfad: ";
   cin >> datei;
   datein.open(datei.c_str(), ios_base::in);

   //Ausgabebereich
   ofstream dataus;
   string datraus;
         //ifstream dataus;
   cout <<"Bitte Pfad eingeben!"<<endl;
   cout <<"Kompletter Zielpfad: ";
   cin >> datraus;
         //dataus.open("d:\\test2.txt");
   dataus.open(datraus.c_str(), ios_base::out);

    if (datein.good)
        {
          i=0;
          datein.seekg(0L,ios::end);   //ios::end, Dateizeiger vom Ende der Datei aus bewegen.  
          dateigroesse = datein.tellg();
          datein.seekg(0L,ios::beg);   //ios::beg, Dateizeiger vom Anfang der Datei aus bewegen.
          daten = new char[dateigroesse+1];
           
      //while(datein.good())            //Vorgang wiederholen, solange Daten in Zeile vorhanden
      while (datein.getline(buffer,1024)) //Liest die korrkte Zeilenanzahl ein!
 
      {
         //zeilenweise einlesen
         datein.getline(buffer,1024);
         cout << buffer << "\n";      //zeilenweise

         // Ausgabe; bzw Bearbeitung
         dataus << buffer<<"\n";      //Zugriff auf die gerade geöffnete Zeile      
            i++;
           }
          datein.close();
        dataus.close();
      }
      else
      {
        cout << "FEHLER keine Datei gefunden!" <<endl;
      }
   delete[] daten;
   return 0;
}


Die Aufgabenstellung sieht allerdings vor, dass ich mit dem Code nur bestimmte Daten einlese und abspeichere.

Die Quelldatei aus der gelesen weden soll sieht so aus:

0605 23:32:30 A0 Start LoopCycle                 No.         34907
0605 23:32:40 D0    Provider ID / Count          301         1
0605 23:32:55 A0 Start LoopCycle                 No.         34908
0605 23:33:06 D0    Provider ID / Count          502         39
0605 23:33:21 A0 Start LoopCycle                 No.         34909
0605 23:33:46 A0 Start LoopCycle                 No.         34910
0605 23:34:13 A0 Start LoopCycle                 No.         34911
0605 23:34:26 D0    Provider ID / Count          7           90
0605 23:34:26 D0    Provider ID / Count          300         1
0605 23:34:41 A0 Start LoopCycle                 No.         34912


Das Endergebnis soll hinterher so aussehen:

0605 23:32:30 A0 Start LoopCycle                 No.         34907
0605 23:32:55 A0 Start LoopCycle                 No.         34908
0605 23:34:13 A0 Start LoopCycle                 No.         34911
0605 23:34:41 A0 Start LoopCycle                 No.         34912

Es sollen also nur die Zeilen behandelt werden, in denen nach "Start LoopCycle" keine weitere Zeile mit "Start LoopCycle" direkt folgt.

Es wäre super, wenn mit jemand helfen würde, mir schreiben würde, wo, wie und womit ich meinen Code ergänze um das Problem zu lösen.

Danke

« was meint ihr zu C#?Spiel Programmieren ?? »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Quellcode
Ein Quellcode, auch als Quelltext bekannt, bezeichnet den unkompilierten Programm-Code einer Software. Quell- oder Programm-Code ist der auch für Menschen lesbare Co...

Unicode
Unicode ist ein international anerkannter Standard, der als universeller Zeichencode ("Universal Code") dient und durch das Unicode-Konsortium entwickelt und verwaltet wi...

QR-Code
QR-Codes, die Abkürzung für "Quick Response Codes", sind eine Form von zweidimensionalen Barcodes. Damit lassen sich Informationen schnell und effizient speiche...