rand_s 関数は、0 ~ UINT_MAX の範囲の整数の擬似乱数を入力ポインタに書き込みます。rand_s 関数は、オペレーティング システムを使用して、暗号化によりセキュリティが強化された乱数を生成します。この関数は srand 関数によって生成されるシードを使用しません。また、rand によって使用される乱数シーケンスにも影響しません。
rand_s 関数を宣言するためには、インクルード ステートメントの前に定数 _CRT_RAND_S を定義する必要があります。たとえば、次の例のようになります。
#define _CRT_RAND_S
#include <stdlib.h>
rand_s は、その動作を RtlGenRandom API に依存しています。この API は、Windows XP 以降でしか利用できません。