tmpnam()
一時ファイルを作成する独自の機能を実装しました。これを調整するには、次の定義を使用します。
/* The length of random string. In /tmp/test143276 is 143246 */
#define RND_ROUND 6
/* Used as a minimal bound produced by number generator */
#define RND_MIN 100000
/* Used as a maximum bound produced by number generator */
#define RND_MAX 1000000
ご覧のとおり、実際に必要なマクロはRND_ROUND
であり、その他はナンバ ジェネレータに渡す派生物です。そして、生成するための式は次のとおりです。
RND_MIN = 1 and [RND_ROUND-1] zeros
RND_MAX = 1 and [RND_ROUND] zeros
質問:コンパイル時にベースRND_MIN
となるマクロを作成するにはどうすればよいですか?RND_MAX
RND_ROUND
例:
#define RND_ROUND 6
// somehow define those RND_MIN and RND_MAX
...
int32_t random = g_rand_int_range(generator, RND_MIN(RND_ROUND), RND_MAX(RND_ROUND));