• Domingo 19 de Mayo de 2024, 18:25

Autor Tema:  Fecha De Creacion De Un Fichero  (Leído 1130 veces)

armenzg

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Fecha De Creacion De Un Fichero
« en: Lunes 23 de Agosto de 2004, 13:32 »
0
PD= Lo siento por generar la discusion dos veces

Hola,

uso winxp,dev-c++ 4.9.9 con mingW como compilador. Solo manejo las librerias estandar de c++.

BUSCO: una funcion que dandole el nombre de un fichero que esta en la misma carpeta que el ejecutable, me devuelve true si existe y que el tipo fecha tenga la fecha de creacion del fichero.

struct t_fecha {
    int dia;
    int mes;
    int annio;
}

bool ObtenerFecha (fecha var1, string cadena);

No estoy pidiendo que me hagais el trabajo sino que libreria deberia usar, o que funciones estudiar para poder usarlas.


Gracias

armenzg

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Fecha De Creacion De Un Fichero
« Respuesta #1 en: Lunes 23 de Agosto de 2004, 15:22 »
0
Hola, ya encontre la respuesta gracias a nikokiki en otro post que hice hace un mes y que no pude continuarlo y publique este nuevo.

Me comento acerce de la funcion stat().

Ahi va el codigo:

Citar
#include <sys/stat.h>
#include <iostream>
#include <time.h>
#include <string>

using namespace std;

struct t_fecha {
   int dia;
   int mes;
   int annio;
};

bool ObtenerFecha (t_fecha &fecha, string cadena)
{
   struct stat result;
   struct tm *PtrFecha;
   
   if (stat(cadena.c_str(), &result) == 0) {
        PtrFecha = localtime(&result.st_ctime);
       
        fecha.dia = PtrFecha->tm_mday;
        //Enero es el mes 0
        fecha.mes = PtrFecha->tm_mon + 1;
        //tm_year contiene los años pasados desde 1900
        fecha.annio = PtrFecha->tm_year + 1900;
       
        //cout << fecha.dia << ' ' << fecha.mes << ' ' << fecha.annio << endl;
       
        return true;
   } else {
      // Ocurrio un error
      cout << "Error\n";
     
      return false;
   }
}   

int main()
{
   t_fecha Fechadelfichero;
   string cadena = "hola.txt";
   
   ObtenerFecha (Fechadelfichero, cadena);
   
   getchar();
   return 0;
}

Hay otra manera de hacerlo y es olvidandonos de la estrucutra que yo cree.
Y es quedandonos con la variable del tipo tm que contiene toda la informacion detallada.

PD = A lo mejor es unpoco chorra preguntar y contestarme a mi mismo pero seguro que a alguien le servirá este monologo.

Chao!!