How to generate a random int in C?

Kredns picture Kredns · May 5, 2009 · Viewed 1.7M times · Source

Is there a function to generate a random int number in C? Or will I have to use a third party library?

Answer

Łukasz Lew picture Łukasz Lew · May 5, 2009

Note: Don't use rand() for security. If you need a cryptographically secure number, see this answer instead.

#include <time.h>
#include <stdlib.h>

srand(time(NULL));   // Initialization, should only be called once.
int r = rand();      // Returns a pseudo-random integer between 0 and RAND_MAX.

Edit: On Linux, you might prefer to use random and srandom.