PDA

View Full Version : [C] Contare i secondi


monelli
21-04-2008, 16:57
Salve a tutti... Devo aggiungere un pezzo al mio programma ma non so da dove partire... mi spiego:

Ad un certo punto assegno ad x il valore 1

X=1;
Da qua dovrebbe partire un conteggio dei secondi

Qua faccio altro...

Qua vorrei leggere a quanti secondi sono arrivato, senza fermare il conteggio

Tutto ciò sotto linux. Quale libreria devo usare e quali funzioni?

Ha giusto quando leggo i secondi li dovrei convertire in int per stamparli a video. Non dovrei superare i 5 minuti nel conteggio.

Se avete qualche link che mi può venire di aiuto è ben accetto.

Grazie

Torav
21-04-2008, 17:34
puoi utilizzare un paio di funzioni che sono in time.h se non ti serve niente di più preciso dei secondi!

difftime(time_t, time_t ) ti restituisce la differenza in secondi tra i due argomenti, che puoi ricavare chiamando time(NULL) (che restituisce un time_t) ogniqualvolta ti serva conoscere la differenza che ti interessa. So di essermi spiegato male, ti faccio vedere quello che intendo :p


int main(int argc, char *argv[]) {
time_t tempo1;
time_t tempo2;
int tempoTrascorso;
int trash;

tempo1 = time(NULL);

printf("Premere invio per sapere quanti secondo sono passati...");
getchar();

tempo2 = time(NULL);

tempoTrascorso = difftime(tempo2, tempo1);

printf("Sono trascorsi %d secondi!", tempoTrascorso);
getchar();

return 0;
}

monelli
21-04-2008, 17:39
Grazie, perfetto, è quello che fa per me mi metto subito all'opera.

Ancora grazie per la spiegazione.

monelli
21-04-2008, 20:32
veramente non mi funziona...

neanche il tuo esempio mi restituisce un numero esagerato...:eek: :eek: :eek:


:cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry:

marko.fatto
21-04-2008, 20:58
http://www.cplusplus.com/reference/clibrary/ctime/difftime.html

monelli
21-04-2008, 21:30
niente funziona sorry tutto apposto

scleravo io includevo la sys/time.h invece che la time.h, compilava ma non funzionava.

Ho risolto cmq.