Buenas,
Estoy haciendo un pequeño log para un programilla en c++, lo que quiero hacer y hago es leer y escribir un archivo de texto. En la misma ejecucción todo sale OK, escribo linea a linea y una debajo de la otra.
El problema, es que en la siguiente ejecucción se me sobrescribe todo lo anterior.
Alguna ayudita?
Este es mi codigo:
Código C++:
Ver originalint main( int argc, char** argv )
{
char cadena[128];
time_t t;
struct tm *tm;
char fechayhora[100];
ofstream fs;
strftime(fechayhora
, 100, "%d/%m/%Y %H:%M:%S ", tm
); string nuevoNombreFoto;
string nuevo_nombre;
// Crea un fichero de salida
fs.open("log_C++.txt",std::ios::ate);
// Enviamos una cadena al fichero de salida:
fs <<fechayhora << "- Iniciando procesado de imagen" << endl;
if(argv[1] != NULL)
{
fs << "El primer argumento en la ejecucion es:" << argv[1] << endl;
nuevoNombreFoto = string(argv[1]) ;
string original = nuevoNombreFoto;
string parte = ".";
nuevo_nombre = original.substr( 0, original.find( parte )) +"_tratada.jpg" ;
fs << "El nuevo nombre esssss: "<<nuevo_nombre << endl;
}
else
{
cout << "El primer argumento en la ejecucion es NULL o no se ha introducido una imagen\n\n";
fs << "El primer argumento en la ejecucion es NULL o no se ha introducido una imagen\n\n";
}
strftime(fechayhora
, 100, "%d-%m-%Y %H:%M:%S ", tm
); cout << nuevo_nombre;
// Enviamos una cadena al fichero de salida:
fs <<fechayhora << "- Procesado de imagen finalizado" << endl;
// Cerrar el fichero,
// para luego poder abrirlo para lectura:
fs.close();
}