Implementar um cronómetro em C/C++

Tive a necessidade de implementar em um dos meus projectos académicos um cronómetro. Fica aqui a dica de como o fazer usando a biblioteca time.h que nos da acesso a funções que possibilitam o acesso e manipulação de datas e de tempo. Fica aqui o exemplo de como implementar um cronómetro.

time_t start, end;
tm * ptm;
char timetoShow[20];

char* cronometroRun()
{
time (&end);
time_t tempoGasto = end – start
ptm = gmtime ( &tempoGasto );
sprintf(timetoShow, “%2d:%02d”, ptm->tm_min, ptm->tm_sec );

return timetoShow;
}

A explicação:

Antes de mais, de notar dois pormenores:

  1. A variável start foi previamente iniciada com o comando time(&start) no momento desejado (antes da invocação do cronometroRun() ).
  2. A função definida cronometroRun() retorna a string com a formatação que pretendia apresentar, neste caso: mm:ss.

Agora a explicação importante:

  • time (&end) : guarda na variável end a actual hora do sistema como um objecto time_t.
  • time_t tempoGasto = end – start : é a variável que vamos usar para guardar o tempo decorrido entre o momento que iniciamos o nosso cronómetro ate a actualidade.
  • ptm = gmtime(&tempoGasto) : ptm é um apontador para uma estrutura tm que contem a informação de uma dada data. A função gmtime converte uma data do formato time_t para o formato tm, no nosso caso vai preencher a estrutura ptm criada por nos com a informação do tempo decorrido que se encontra já na variavel tempoGasto.
  • sprintf(timetoShow, “%2d:%02d”, ptm->tm_min, ptm->tm_sec ) : agora é so imprimir o meu cronómetro, no meu caso dava-me jeito imprimir os minutos e os segundos, no formato mm:ss.

And its done 🙂

Simples e fácil, ficou aqui a dica, espero que seja útil para alguém.

Anúncios

Firefox 3 Download Day 2008

Download Day

Parece um bom negócio, não acha? Tudo o que você precisa fazer é baixar o Firefox 3 durante o Download Day – é fácil assim. Não estamos pedindo que você engula uma espada ou equilibre 30 colheres no rosto ao mesmo tempo – apesar de que isso seria incrível.
A propósito, a data oficial para o lançamento do Firefox 3 será postada aqui em breve, então dê uma passadinha por aqui depois para verificar! Junte-se a nossa comunidade e a este esforço comprometendo-se a baixar o Firefox.

Vamos lá ajudar a bater esse recorde!