fstream Zeilen überspringen



  • Hallo Leute

    Ich möchte per fstream 2 Textdokumente zusammenfügen.
    Dabei dürfen jedoch die ersten beiden Zeilen der ersten Datei nicht übertragen werden.

    Wie kann ich die beiden Zeilen überspringen?
    Mein Code sieht bis jetzt folgendermaßen aus:

    String s;
    
    		Datei1.open("Datei1.txt", ios::in);
    		Datei2.open("Datei2.txt", ios::out);
    		while (!Datei1.eof())
    		{
    			getline(Datei1, s);
    			Datei2 << s;
    			Datei2 << "\n";
    		}
    		Datei1.close();
    		Datei2.close();
    

    Also die ersten beiden Zeilen aus Datei1 sollen nicht übertragen werden. 😉

    Vielen Dank für alle Antworten

    JanK411



  • Streamprobleme? Forensuche -> Werner Salomon.

    Z.B. skipline.


  • Mod

    Also du willst Datei1 in Datei2 kopieren, außer der ersten Zeile? Und Datei2 soll überschrieben werden?

    #include <fstream>
    #include <limits>
    
    int main() 
    {
      std::ifstream datei1("Datei1");
      std::ofstream datei2("Datei2"); // Falls kein Überschreiben gewünscht, std::ios::app als zweiten Parameter hinzufügen.
    
      datei1.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); // Erste Zeile ignorieren
      datei2 << datei1.rdbuf();  // Rest in datei2 schreiben
    }
    

    Und nutz doch die Werkzeuge deiner Kommandozeile. Diese Funktionalität gibt es schon millionenfach von anderen Programmen.


Anmelden zum Antworten