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.

The `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”).

The functions `rand`

() and
`srand`

() first appeared in
Version 3 AT&T UNIX.

July 18, 2013 | OpenBSD-5.4 |