LETTURA/SCRITTURA in mod. BINARIA
codice:
#include <stdio.h>
#include <time.h>


int main(){
    
    FILE* pf;
    long day=0, mon=0, yar=0;


	
    struct tm* pt;
    time_t td;
    time (&td);
    pt = localtime (&td);

    pt->tm_mon++;
    pt->tm_year = pt->tm_year + 1900;



    if (!(pf = fopen("date.txt", "rb"))){
		
        printf ("FILE \"date.txt\" NON TROVATO\n");
	       
    }

    else{
	 	
	fread (&day, sizeof (long), 1, pf);
	fread (&mon, sizeof (long), 1, pf);
	fread (&yar, sizeof (long), 1, pf);

	fclose (pf);

    }
	


    if ((pt->tm_year > yar) || (pt->tm_year >= yar && pt->tm_mon > mon) || (pt->tm_year >= yar && pt->tm_mon >= mon && pt->tm_mday > day)){
		
	pf = fopen("date.txt", "wb");

	fwrite (&pt->tm_mday, sizeof (long), 1, pf);
   	fwrite (&pt->tm_mon, sizeof (long), 1, pf);
   	fwrite (&pt->tm_year, sizeof (long), 1, pf);

	fclose (pf);

	printf ("FILE \"date.txt\" AGGIORNATO\n");
    
    }
	
    else {

	printf ("FILE \"date.txt\" NON AGGIORNATO\n");

    }



    printf ("DATA SUL FILE: %0.2d %0.2d %4d\n", day, mon, yar);
    printf ("DATA  ODIERNA: %0.2d %0.2d %4d\n", pt->tm_mday, pt->tm_mon, pt->tm_year);



    return (0);	

}
N.B. si presuppone che il file di testo "date.txt" contenga
soltanto una data (la più aggiornata) ed è scritto/letto in modalità binaria ("non è possibile" quindi editare il file manualmente "tramite NotePad").