Literalmente no se como %$&^$$%#$% hacer lo siguiente...
Quiero copiar una fichero a otro, con la condicion de que en la ultima linea no me coloque salto de linea o fin de linea es decir "\n" o "endl" , lo que tengo es:
supongamos que el archivo prueba.txt contiene:
123
456
789
Código C++:
Ver original
//variables int valor; //leo el archivo ifstream leer("prueba.txt", ios::in); //prepara el archivo que copia ofstream copiar("copia.txt", ios::out); while(!leer.eof()){ //Verifico si hay algo para leer leer >> valor; //leo cada linea copiar << valor<<endl; // copia la linea en copia.txt }
Al copiar si no pongo al final <<endl; se copia asi: 123456789
entonces por orden pongo <<endl; y me queda copiada asi:
y se entiende que queda algo asi, el <<endl; en TXT no se ve, claro esta
23 <<endl;
456 <<endl;
789 <<endl;
Pero aqui mi problema, no entiendo porque pero me pasa...cuando intento leer copia.txt y mostrar el contenido en pantalla, la ultima linea se repite y he determinado que se debe a que la ultima linea tiene un salto o fin de linea "\n" ó "endl"....repito no entiendo porque pero se imprime asi:
123
456
789
789
Entonces creo que la solucion seria un for interno no se, que coloque saltos o fin de linea hasta la penultima linea....pero no se como hacerlo dentro del while y con que criterio determine cuantas lineas tengo o cual es la penultima/ ultima linea.
espero me entiendan y me puedan ayudar estoy al borde de un colapso nervioso
GRACIAS