Função "Temporizador" em C
Publicado por Perfil removido (última atualização em 30/05/2012)
[ Hits: 39.032 ]
Exemplo simples em compilação normal.
A função lê um instante do sistema e divide o valor pelo número de ciclos de execução da máquina para calcular tempo.
Depois faz isto por uma segunda vez dentro de um laço (loop).
Quando a diferença entre a segunda e a primeira leitura for igual a um valor fornecido em segundos à função, o loop se encerra e a função termina.
Deste modo, durante a execução da função passou-se este tempo em segundos.
Igual à sleep em Bash.
#include <stdio.h> #include <time.h> // prototipo void pause (float); /** procedimento de compilacao normal * uso: pause(valor) * * valor eh um numero maior que zero podendo ser uma fracao. * eh o tempo em segundos de pausa no programa. **/ void pause (float delay1) { if (delay1<0.001) return; // pode ser ajustado e/ou evita-se valores negativos. float inst1=0, inst2=0; inst1 = (float)clock()/(float)CLOCKS_PER_SEC; while (inst2-inst1<delay1) inst2 = (float)clock()/(float)CLOCKS_PER_SEC; return; } int main (void) { printf ("Favor olhar para o relogio da maquina para conferir.\n"); printf ("5,5 segundos antes...\n"); pause (5.5); printf ("5,5 segundos depois...\n"); return 0; }
Controle de estoque com listas
1o. joguinho Labirinto (com graficos).c
Derrubando SyGate Profissional Firewall !
Comparação entre os escalonadores BFQ e MQ-Deadline (acesso a disco) no Arch e Debian
Conciliando o uso da ZRAM e SWAP em disco na sua máquina
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Overclocking Permanente para Drastic no Miyoo Mini Plus
Problemas de chaves (/usr/share/keyrings) no Debian
Converter os repositórios Debian para o novo formato com as chaves
Primeiras impressões do Debian 13 (8)
como resolver o problema de som do linux mint mate (4)
Rede wifi com mesmo ip da rede eth (13)
preciso saber aonde encontro pelomenos 5 mu online que tenha download ... (1)