본문 바로가기
dev/c

[C언어] srand, rand 랜덤으로 문자 생성하기

by 최연탄 2017. 6. 13.
728x90
반응형

참고: https://msdn.microsoft.com/en-us/library/398ax69y.aspx

rand는 초기값을 기준으로 난수발생 알고리즘에 의해 랜덤처럼 보이는 수를 반환한다. 매번 첫 실행 시 값을 다르게 하고싶다면 srand로 초기값을 변경한다. 여기에 사용할 초기 값으로는 매 실행 때 마다 달라지는 변수를 사용하면 좀 더 랜덤에 가까운 수를 얻을 수 있다. 이러한 변수로는 시간 값이 적당하다.

void InitializeRandomSeed() {
    srand((unsigned int)time(0));
}

char GetRandomCharacter() {
    return 'a' + (rand() % 26);
}

int main() {
    InitializeRandomSeed();

    for (int i = 0; i < 1000; i++) {
        printf("%c", GetRandomCharacter());
    }

    return 0;
}

 

time은 초단위 까지 반환한다. 윈도우 api 중 GetTickCount는 시스템 시작 부터 경과시간을 밀리세컨드단위로 반환한다.

반응형

'dev > c' 카테고리의 다른 글

[C언어] 자판기 (Vending Machine) v1.3  (0) 2016.04.20
[C언어] 자판기 (Vending Machine) v1.0  (1) 2016.04.19

댓글