#include 用drand48()這個函數就可以了; http://home1.gte.net/deleyd/random/crandom.html ================================================================================ #include #include int main() { unsigned char a; RAND_bytes(&a,1); printf ("%d\n",a); return 0; } ================================================================================ #include #include #include #include int main(void) { int i; struct timeval tv; struct timezone tz; gettimeofday(&tv,&tz); unsigned short int seed16v[3]={(unsigned short int)tv.tv_usec,(unsigned short int)time((time_t)NULL),(unsigned short int)tv.tv_sec}; seed48(seed16v); for(i=0;i<10;i++) printf("%f\n",drand48()); return 0; } ================================================================================ 剛剛看到這個標題 想到我之前看到linux內建的亂數產生器 而相關的API是透由這兩個 /dev/random /dev/urandom device file 取得亂數資訊 所以在linux中 理論上也可以自行存取這兩個檔案 取得亂數資訊 http://eprint.iacr.org/2006/086.pdf