임시 파일을 생성하기위한 함수는 tmpnam()
입니다. 당신이 진짜 필요한 매크로 RND_ROUND
하고 다른 사람들이 번호 생성기로 전달하는 파생 볼 수 있듯이C 매크로는 가변 길이 값을 정의합니다.
/* 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_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));
전원 기능을 사용할 수 있습니까 ?? –
바이너리 패턴을 사용할 수 있습니까? –
글쎄, 일반적으로 할 수는 있지만,'RND_MIN'과'RND_MAX'는 런타임에 절대로 변경되지 않으므로 바람직하지 않습니다. 따라서 모든 호출 ('create_tmp_file'과 같은 함수에서)이 자원을 낭비합니다. – likern