
26/10/2006, 05:32
|
 | | | Fecha de Ingreso: abril-2006 Ubicación: Madrid
Mensajes: 875
Antigüedad: 18 años, 10 meses Puntos: 9 | |
Mi código finalmente es éste.
#include<stdio.h>
#include<fcntl.h>
#include<string.h>
#include<stdlib.h>
#include<sys/stat.h>
int main (int argc, char * argv[])
{
struct stat estado;
time_t ultimo;
int fd,i;
printf("\n Fichero a comprobar %s", argv[1]);
for(i=0;i<3;i++)
{
fd = open(argv[1],O_RDONLY);
fstat(fd,&estado);
if(estado.st_mtime != ultimo)
{
ultimo = estado.st_mtime;
printf("\n- El archivo %s ha sido modificado",argv[1]);
}
else
{
printf("\n- El archivo %s no ha sido modificado",argv[1]);
}
sleep(10);
i=0;
close(fd);
}
return 0;
}
He incluido ese bucle for ya que la comprobación del archivo en principio no tiene condición de salida, por tanto el programa se ejecuta hasta que el usuario lo pare. La única pega es que la primera vez, me muestra por pantalla "El fichero x ha sido modificado", cuando en realidad no le he tocado... Las demás veces funciona perfectamente. |