Datei auslesen



  • HALLO.

    ich möchte gern einen code schreiben, der mir eine datei mit zahlen ausliest. in der datei befinden sich allerdings auch einige zeilen, die mit einem '//' beginnen sollen, um deutlich zu machen, dass diese zeilen kommentare enthalten und somit beim auslesen nicht berücksichtigt werden.

    wie kann ich dem code begreiflich machen, dass diese zeilen übersprungen werden sollen?
    gibt es eine gute seite im netz über das auslesen / arbeiten mit textdateien?

    DANKE.
    STEFAN.



  • Also entweder du liest zeilenweise per getline() ein und beendest die Arbeit, wenn du auf eine Kommentarzeile triffst (line.substr(0,2)=="//") oder du fragst vor jeder Zahleneingabe per peek(), ob du auf einem '/' stehst (Anfang einer Kommentarzeile) und ignore()ierst in dem Fall den Rest der Zeile.



  • Hier ein Beispiel:

    #include <iostream>
    #include <string>
    #include <fstream>
    using namespace std;
    
    int main()
    {
    	ifstream in;
    	string row = "";
    
    	in.open("foo.txt");
    	while(getline(in,row))
    	{
    		if(row.substr(0,2)!="//")
    			cout << row << endl;
    	}
    	in.close();
    
    	getchar();
    	return 0;
    }
    

    Getestet mit der Datei:

    1
    2
    3
    4
    5
    // Foo
    // 6
    7
    8
    9
    // 10
    

Anmelden zum Antworten