Como fazer uma funcao que da a diferença de tempo em c? Rapido pls!

cyberfox

Membro
Pessoal alguem me pode dar uma funcao que de a diferença entre dois instantes?

Por exemplo.....no meu projecto que tenho k entregar amanha so me falta uma funcao que me de a diferença de tempo entre o tempo em que insiro um carro na garagem e quando o retiro dela.

Ja tenho funcoes para gerar o tempo em cada instante...

mas para gerar a diferença de tempo nao sei.....nao e uma simples subtracao pois envolve varios campos da estrutura tm do time.h da biblioteca do c...

alguem me pode ajudar??
cumps :)
 
Em ultimo caso podes converter as duas datas pra long fazeres a subtracção e criares um novo date com o long resultante da operação.
Não está tão correcto como usar funções nativas, mas em ultimo caso faz o mesmo.
 
ya ya sao hipoteses

so uma cena.....

a funcao time(&tempo) guarda no tempo a infomacao da hora/data currente em segundos.

Mas...o tempo e uma variavel que foi declarada como time_t tempo.

E eu n sei de k tipo e o time_t...para puder passa lo para fora de uma funcao como faço? se nao sei o tipo.....ou melhor, sei, e do tipo time_t mas..... :(

cumps
 
cyberfox disse:
ya ya sao hipoteses

so uma cena.....

a funcao time(&tempo) guarda no tempo a infomacao da hora/data currente em segundos.

Mas...o tempo e uma variavel que foi declarada como time_t tempo.

E eu n sei de k tipo e o time_t...para puder passa lo para fora de uma funcao como faço? se nao sei o tipo.....ou melhor, sei, e do tipo time_t mas..... :(

cumps

Talvez este código te ajude:

Código:
#include <time.h>
#include <stdio.h>

int main()
{
	time_t begin;
	time_t end;

	begin = time(NULL);
	printf("Press enter...\n");
	getchar();
	end = time(NULL);
	printf("Difference is %f\n", difftime(end, begin));
}

Relativamente à função time(), esta devolve o valor actual de tempo (ou a melhor aproximação que conseguir). Se passares um apontador não nulo como argumento, o time_t por ele apontado também fica com um valor igual. Podes ver isso nesta parte final da implementação da função time:

Código:
time_t time(time_t timeptr)
{
        // ...
        if (timeptr)
                *timeptr = tim;         /* store time if requested */

        return tim;
}
 
Back
Topo