davidcastrosalinas

Código de ejemplo que permite crear un archivo de log con información de fecha y hora

Oct 20th, 2020
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.26 KB | None | 0 0
  1. /**
  2.  * @brief Creación de archivo base para LOG
  3.  * @author David Castro Salinas
  4.  * @date 10/2020
  5.  * @note Código de ejemplo que permite crear un archivo de log con información de fecha y hora
  6.  */
  7.  
  8.  
  9. #include <iostream>
  10. #include <string>
  11.  
  12. using namespace std;
  13. #include "ctime"
  14.  
  15. string fechaActual(){
  16.     //http://www.cplusplus.com/reference/ctime/
  17.     time_t t = time(NULL); //#include <ctime>
  18.     tm* timePtr = localtime(&t);
  19.     /*anho = timePtr->tm_year+1900;
  20.     mes  = timePtr->tm_mon+1;
  21.     dia  = timePtr->tm_mday;*/
  22.     return to_string(timePtr->tm_year+1900)
  23.          + to_string(timePtr->tm_mon+1)
  24.          + to_string(timePtr->tm_mday)
  25.          + to_string(timePtr->tm_hour)
  26.          + to_string(timePtr->tm_min)
  27.          + to_string(timePtr->tm_sec);
  28. }
  29.  
  30.  
  31. #include <fstream> //ficheros
  32. //http://www.cplusplus.com/reference/fstream/fstream/?kw=fstream
  33. bool addLog(string texto) {
  34.  
  35.     /**
  36.     ios::app Operaciones de añadidura.
  37.     ios::ate Coloca el apuntador del archivo al final del mismo.
  38.     ios::in Operaciones de lectura. Esta es la opción por defecto para objetos de la clase ifstream.
  39.     ios::out Operaciones de escritura. Esta es la opción por defecto para objetos de la clase ofstream.
  40.     ios::nocreate Si el archivo no existe se suspende la operación.
  41.     ios::noreplace Crea un archivo, si existe uno con el mismo nombre la operación se suspende.
  42.     ios::trunc Crea un archivo, si existe uno con el mismo nombre lo borra.
  43.     ios::binary Operaciones binarias.*/
  44.  
  45.     ofstream archivo;
  46.  
  47.     //utilizando .\ le indicamos al sistema que cree el archivo en la misma ruta del archivo main (que después será el .exe)
  48.     string nombreArchivo = ".\\LOG.txt";
  49.  
  50.     archivo.open(nombreArchivo, ios::app );
  51.     if(archivo.is_open()) {
  52.         archivo <<fechaActual()<<"] "<< texto<<endl;
  53.         archivo.close();
  54.     } else {
  55.         cout <<"[ERROE] error en archivo ["<<nombreArchivo<<"]";
  56.         return false;
  57.     }
  58.     return true;
  59. }
  60.  
  61.  
  62.  
  63. int main()
  64. {
  65.     string texto ="";
  66.     //ejecutamos hasta que el usuario presione un enter sin ingresar datos
  67.     do{
  68.         cout <<"\n"<<fechaActual()<<"] ingresando texto:";
  69.         getline(cin, texto);
  70.         addLog(texto);
  71.     } while(texto != "");
  72.  
  73.     return 0;
  74. }
  75.  
Add Comment
Please, Sign In to add comment