zeile löschen



  • hi,

    wie kann ich eine zeile aus einer datei löschen,
    habe folgenden ansatz:

    fstream feq;
    feq.open("EQ.dat");   //datei EQ.dat öffnen
    cout << "\nGeben Sie die entsprechende Nummer ein:";
    cin >> abfrage;
      while(!feq.eof())
        {
          zeile ++;
          getline(feq,delstr,'#');
          if(zeile == abfrage){delstr.erase();};
        };
    feq.close();
    

    was müsste ich in den klammern von delstr.erase() eingeben? oder gibt es eine einfachere methode?

    ein dank für jede hilfe...



  • Hi,
    ich würds etwas anders machen.
    Z.B. diese Abfrage nach dem Dateiende ist überflüssig.
    Das sagt dir getline auch.

    while(getline(my_File, line)) 
    { 
      zeile ++; 
    
      if(zeile != abfrage) 
        cout << line << endl;
    };
    

    Hier schreibt er nur nach cout.
    Das musst du dir dann noch in die neue Datei umleiten...



  • danke,

    hilft mir in jedem fall weiter 😉


Anmelden zum Antworten