View Full Version : programmare il timer di sistema
GioVesas
24-03-2006, 08:13
Quale è la funzione C per modificare il system time ?
time_t time(time_t *second) mi ritorna la data, ma se voglio modificare la data/ora del sistema ?
Sarà una domanda banale, ma non trovo la funzione per accedere in scrittura al clock di sistema.
Quale è la funzione C per modificare il system time ?
time_t time(time_t *second) mi ritorna la data, ma se voglio modificare la data/ora del sistema ?
Sarà una domanda banale, ma non trovo la funzione per accedere in scrittura al clock di sistema.Perché l'impostazione della data di sistema è una operazione system-dependent, ovvero il modo di effettuare questa operazione dipende dal sistema operativo. Quindi non esiste nella libreria standard del "C" una funzione per fare questa cosa.
Su Windows esiste la funzione Win32 SetSystemTime (http://msdn.microsoft.com/library/en-us/sysinfo/base/setsystemtime.asp) mentre su Linux credo che la cosa migliore sia quella di sfruttare le utility di sistema chiamate 'date' e 'hwclock'. Su Linux la cosa è un po' diversa da altri sistemi: il comando 'date' imposta la data di sistema ma non quella del clock hardware.
Questo vuol dire che se fai:
date 010100002007.00
per impostare la data al 01/01/2007 ore 00:00:00 e poi riavvii il sistema, la tua impostazione si è persa. Perché bisogna impostare anche il clock hardware. Per maggiori info su Linux vedere 'man date' e 'man hwclock'.
Infine in generale (sia per Windows che Linux), impostare la data di sistema richiede dei privilegi particolari, tipicamente il privilegio di amministratore (root su Linux).
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.