ae jqueiroz como faço pra ler essa semente do /dev/random?
Leia como se fosse um arquivo onde estivesse gravado um número inteiro:
...
volatile int seed;
FILE *random = fopen("/dev/random","r"
if( fread( random, &seed, sizeof(seed) ) != sizeof(seed) ) {
printf( "Erro ao ler semente randômica\n"
exit(-1);
}
...
e eu to tendo um probleminha do com o localtime......
ele tá dentro de um while pra cada interação ele pegar o tempo, mas ele pegou a primeira vez e depois mantem o msm
num sei o q tah acontecendo aqui..... alguem dá um help
Hum, fui rever as funções agora.
localtime() na verdade não informa a hora, mas sim converte um valor de hora que vc pega com a syscall time().
#include <time.h>
time_t time(time_t *t);
Vc pode usar o parâmetro de time() como NULL: "hora_inicio = time(NULL);".
O problema que pode estar havendo aí é dessas iterações levarem menos de um segundo, ou se vc quiser precisão de menos de um segundo na sua medição, já que time() te retorna o tempo em segundos.
Nesse caso, vc precisa usar outra função, e essa vai mudar de sistema para sistema. Sendo Linux, acredito que vc possa usar "getitimer()", mas essa função é bem complicada, e eu nunca cheguei a usar.