En ocasiones es necesario saber la fecha de creación, modificación, hora del último acceso a un archivo y otros parámetros del mismo.
Pero para no pelear con el SO se puede utilizar la librería <sys/stat.h> de C. Aquí un ejemplo de como obtener la fecha de creación y sacar la diferencia de minutos transcurridos a la fecha:
#include<stdio.h>
#include<time.h>
#include<string.h>
#include<sys/stat.h>
void main(void)
{
/*Nombre del archivo*/
char *file_name;
/*Tiempo en esté momento*/
time_t time_now = time(NULL);
/*Diferencia de tiempo*/
float diff ;
/*Estructura en donde se almacenará toda la info del archivo*/
struct stat strbuf;
/*Se copia la ruta del archivo*/
strcpy(file_name, "/home/spg0x01/archivo_prueba.xy");
/*Minutos de diferencia*/
int minutos = 0 ;
/*Llamada a stat*/
stat(file_name, &strbuf);
/*Diferencia de tiempo*/
diff = difftime(time_now, strbuf.st_ctime);
minutos = diff/60.0;
printf("minutos de diferencia %d\n", minutos);
}
Resultado:
*El el primer comando se obtiene la fecha de creación del archivo y son las 15:11
*En el segundo se ejecuta el programa y marca que hay una diferencia de 8 minutos
*En el tercero se corrobora que son las 15:19 ( 15:19 - 15:11 = 8 min).
Se pueden consultar las demás opciones de stat haciendo un man stat.h en Linux y
en windows...... instalen linux.
Saludos.