EN JA
RAND(3)
RAND(3) FreeBSD Library Functions Manual RAND(3)

名称

rand, srand, sranddev, rand_r良くない乱数ジェネレータ

ライブラリ

Standard C Library (libc, -lc)

書式

#include < stdlib.h>

void
srand( unsigned seed);

void
sranddev( void);

int
rand( void);

int
rand_r( unsigned *ctx);

解説

このマニュアルページに記述されている関数は、暗号的に安全ではありません。暗号アプリケーションは、代わりに arc4random(3) を使用するべきです。

これらのインタフェースは、旧式となり random(3) に置き換えられました。

rand() 関数は、0 から (ヘッダファイル < stdlib.h> によって定義された) RAND_MAX の範囲で偽似乱数の整数の数列を計算します。

srand() 関数は、 rand() によって返される疑似乱数の新しい数列のためのシード (種) として、引数 seed を設定します。これらの数列は、同じシード (種) の値で srand() を呼び出すことにより繰り返し可能です。

seed (種) 値を指定しないと、関数は、自動的に値 1 をシード (種) とします。

sranddev() 関数は、カーネルから取得される疑似ランダム数を使用してシード (種) を初期化します。

rand_r() 関数は、 rand() と同じ機能を提供します。コンテキスト値 ctx へのポインタは、呼び出し側によって提供されなければなりません。

より良い品質を生成するためには、 random(3) または lrand48(3) を使用します。

規格

rand() と srand() 関数は、 ISO/IEC 9899:1990 (“ISO C90”) に適合しています。

rand_r() 関数は、POSIX.4a Draft #6 の文書で提案されています。

April 2, 2013 FreeBSD