Bestimmte Zeile aus *.txt auslesen



  • Hi miteinander,

    würde gerne aus einer bestimmten Datei (Nummerierung.txt)
    aus der Zeile in der das #: steht eine Zahl (Ganzzahl) auslesen....

    So sieht beispielsweise die *.txt von innen aus:

    #:0001
    Bla bla...>000<....
    /(/$$$))(()())
    

    kann aber auch wie folgst aussehen...

    /(/$$$))(()())
    #:0001
    Bla bla...>000<....
    

    und damit immer die richtige Zahl (hier 0001) eingelesen wird,soll
    das programm die Textdatei durchsuchen, bis es die Zeile findet,
    in der folgende Zeichenfolge steht #: und alles was dahinter steht in eine
    integer Variable (meinetwegen int Anzahl) speichert, muss diese
    Zahl weiterverwenden....
    Gesucht also der Befehl um eine Datei nach einer best. Zeichenfolge zu durchsuchen und
    ab dieser Zeichenfolge alles einzulesen...
    Dateien einlesen klappt schon ganz gut...hier das Programm

    // Datei einlesen
    
    #include <string>
    #include <fstream>
    #include <iostream>
    #include <iomanip>
    using namespace std;
    
    int main()
    {
    	int i=1;
    	char zeile[250];
    	string datnam;
    
    	cout << "Dateiname: " << flush;
    	cin >> datnam;
    	ifstream eingabe(datnam.c_str(),ios::in);
    	if (eingabe.good())
    	{
    		eingabe.seekg(0L,ios::end);
    		cout << "Datei: " << datnam << "\t" << eingabe.tellg() << " Bytes\n\n";
    
    		eingabe.seekg(0L,ios::beg);
    		while (!eingabe.eof())
    		{
    			eingabe.getline(zeile,250);
    			cout << setw(2) << i++ << ":" << zeile << "\n";
    		}
    	}
    	else
    		cout << "Dateifehler oder Datei nicht gefunden!\n";
    
    	cout << "\n";
    
    	return 0;
    }
    

    Danke



  • hallo, es gibt keine befehle in c++

    aber unter

    www.cppreference.com

    findest du rechts unter c++ die ganzen methoden der neuen stringklasse.

    such dir da was aus 🙂

    (nimm nicht die funktionen der string.h, ich rate zur neuen string klasse, da du mit strings arbeitest)


Anmelden zum Antworten