Tôi đang tìm cách tạo các giá trị số nguyên ngẫu nhiên lớn, không âm trên hệ thống POSIX. Tôi đã tìm thấy 2 chức năng có thể là phù hợp với những hóa đơn, và initializers tương ứng của họ:Số ngẫu nhiên trong POSIX C API
#include <stdlib.h>
long int random(void);
void srandom(unsigned int seed);
CONFORMING TO
4.3BSD, POSIX.1-2001.
// and
long int lrand48(void);
void srand48(long int seedval);
CONFORMING TO
SVr4, POSIX.1-2001.
- Những chức năng được ưa thích (thread-an toàn và phạm vi của các giá trị được tạo ra)?
- Vì bảo mật đó không phải là mối quan ngại, tôi nên gieo hạt giống như thế nào?
- Phương pháp gieo hạt có khác nhau do các đối số khác nhau cho các hàm giống (
long int
so vớiunsigned int
)?
nếu bạn đang sử dụng hệ thống POSIX cũng sử dụng '/ dev/urandom' hoặc'/dev/random' –