Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Urban94 en 15 Abril 2014, 01:32 am



Título: Como eliminar una linea de un txt
Publicado por: Urban94 en 15 Abril 2014, 01:32 am
Hola gente como andan?, quisiera saber si alguno sabe una forma de eliminar una linea de un txt? en c++.

Lo que yo intente hacer es comparar el archivo original con uno que tiene un par de lineas del original, no todas, y las lineas que son diferentes ponerlas en un archivo original2 por así decirlo pero me copia una linea mal y otra que falta no la pone

Código
  1. #include <iostream>
  2. #include <fstream>
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.    ifstream entrada("prueba.txt"); //archivo original
  8.    ifstream salida("prueba2.txt"); //archivo con algunas lineas del original
  9.    ofstream salida2("prueba3.txt"); // archivo vacio para poner las lineas del
  10.     //original que  no esten en el "prueba2.txt"
  11.    string linea,linea2;
  12.  
  13.    while(!entrada.eof()){
  14.        getline(entrada,linea);
  15.        for(int i=0; i<!salida.eof();i++){
  16.            getline(salida,linea2);
  17.            if(linea != linea2){
  18.                salida2 << linea << endl;
  19.            }
  20.        }
  21.    }
  22.    return 0;
  23. }
  24.  


Título: Re: Como eliminar una linea de un txt
Publicado por: x64core en 15 Abril 2014, 08:58 am
de ::string: find  + erase:

::string.erase(0, ::string.find("\n") + 1);

elimina la primera. para determina una linea podes obtener primero el numero de lineas y validarlo, etc.