Ver Mensaje Individual
  #13 (permalink)  
Antiguo 26/10/2006, 05:32
Avatar de yournightmare86
yournightmare86
 
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.