Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  VC ++
  blockweise herausschreiben

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  blockweise herausschreiben (676 mal gelesen)
rasidrasid
Mitglied



Sehen Sie sich das Profil von rasidrasid an!   Senden Sie eine Private Message an rasidrasid  Schreiben Sie einen Gästebucheintrag für rasidrasid

Beiträge: 97
Registriert: 25.02.2008

erstellt am: 06. Aug. 2009 14:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


infile.txt

 
Hallo,


#include <iostream>
#include <string>
#include <cmath>
#include <fstream>
#include <vector>
#include <iterator>
#include <algorithm>
#include <sstream>
#include <istream>
#include <cstdlib>
#include <windows.h>
using namespace std;
int main () {
   
    string suche;
    ifstream infile("infile.txt");
    ofstream outfile;
    outfile.open("outfile.txt");
    while(!infile.eof()){     
        getline(infile,suche);
        if(suche=="Markebeginn"){outfile << infile << endl;}
        if(suche=="Markeende"){continue;}
      }
outfile.close();

Dieses Programm soll ein Infile und Outfile öffnen. In der ganzen Infile sucht es nach Markebeginn und schreibt, oder soll (was ich nicht hinbekommen habe), ab der nächsten Zeile alles ins Outfile bis 2 Zeilen vor Markeende. Das geht bis die Datei durch ist. Ich habe Dir zum Anschauen mal mein Infile mitgeschickt.

Meine Fehler: Das Programm findet nicht das Markebeginn. Wenn ich aber statt Markebeginn die 1 im code wähle und compiliere, dann findet es die 1. Außerdem würde ich erst die nächste Zeile ab Markebeginn nehmen bis 2 Zeilen vor Markeende, also nur den Zahlenblock.

Habt Ihr irgendeine Idee für mich?

Ich danke Euch im Voraus.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bst
Mitglied



Sehen Sie sich das Profil von bst an!   Senden Sie eine Private Message an bst  Schreiben Sie einen Gästebucheintrag für bst

Beiträge: 192
Registriert: 31.08.2004

erstellt am: 25. Aug. 2009 10:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für rasidrasid 10 Unities + Antwort hilfreich

Morgen,

versuche das mal so.

CUSee You, Bernd
--

Code:
#include <fstream>
#include <string>

using namespace std;

int main () {
  string suche;
  bool inMarke = false;

  ifstream infile("infile.txt");
  ofstream outfile("outfile.txt");
  while (!infile.eof()){   
      getline(infile, suche);
      if (suche == "Markeende")
        break;
      if (inMarke)
        outfile << suche << endl;
      if (suche == "Markebeginn")
        inMarke = true;
  }
  infile.close();
  outfile.close();


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rasidrasid
Mitglied



Sehen Sie sich das Profil von rasidrasid an!   Senden Sie eine Private Message an rasidrasid  Schreiben Sie einen Gästebucheintrag für rasidrasid

Beiträge: 97
Registriert: 25.02.2008

erstellt am: 25. Aug. 2009 11:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

ich danke dir bernd

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

PeterKlaus
Mitglied
Dipl.Inge


Sehen Sie sich das Profil von PeterKlaus an!   Senden Sie eine Private Message an PeterKlaus  Schreiben Sie einen Gästebucheintrag für PeterKlaus

Beiträge: 74
Registriert: 28.03.2003

ProE WF2 M280
ProM WF4 M090
Xeon E5430
8gb ram
fx 4600
win xp 64

erstellt am: 27. Aug. 2009 08:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für rasidrasid 10 Unities + Antwort hilfreich

Code:

#include <fstream>
#include <string>
using namespace std;

int main(int argc, char* argv[])

    string suche;
    bool inMarke = false;

    ifstream infile("c:\\infile.txt");
    ofstream outfile("c:\\outfile.txt");
    if (infile.good() && outfile.good()){
        while (!infile.eof()){   
        getline(infile, suche);
        if (suche.find("Markeende") != string::npos)
            inMarke = false;
        else if (suche.find("Markebeginn") == 0){
            inMarke = true;
            continue;
        }
        if (inMarke)
            outfile << suche << "\n";
        }
    }
    return 0;
}


[Diese Nachricht wurde von PeterKlaus am 27. Aug. 2009 editiert.]

[Diese Nachricht wurde von PeterKlaus am 27. Aug. 2009 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rasidrasid
Mitglied



Sehen Sie sich das Profil von rasidrasid an!   Senden Sie eine Private Message an rasidrasid  Schreiben Sie einen Gästebucheintrag für rasidrasid

Beiträge: 97
Registriert: 25.02.2008

erstellt am: 27. Aug. 2009 09:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz