crandom

How to generate a random int in C?


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


Solution

  • 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.
    

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