rand, srand, rand_r(3) | bad random number generator |

RAND, rand(3) | pseudo-random number generator |

RAND(3) | Library Functions Manual | RAND(3) |

`rand`

, `srand`

—
bad random number generator

`#include <stdlib.h>`

`void`

`srand`

(`unsigned
int seed`);

`int`

`rand`

(`void`);

`int`

`rand_r`

(`unsigned
int *seed`);

These interfaces are obsoleted by
random(3).

The `rand`

() function computes a sequence of
pseudo-random integers in the range of 0 to `RAND_MAX`

(as defined by the header file
`<stdlib.h>`

).

The `srand`

() function sets its argument as
the seed for a new sequence of pseudo-random numbers to be returned by
`rand`

(). These sequences are repeatable by calling
`srand`

() with the same seed value.

If no seed value is provided, the functions are automatically seeded with a value of 1.

The `rand_r`

() is a thread-safe version of
`rand`

(). Storage for the seed must be provided
through the `seed` argument, and needs to have been
initialized by the caller.

`rand`

() and `srand`

() functions
conform to ANSI X3.159-1989
(“ANSI C89”).
The `rand_r`

() function conforms to
IEEE Std 1003.1-2008 (“POSIX.1”).

`rand`

() and `srand`

()
first appeared in Version 3 AT&T UNIX.
January 21, 2014 | OpenBSD-5.5 |