rand()문의
여우By
srand()와 rand()를 이용한 id값 생성srand( (unsigned)time(null) );
int id = rand()%10000;
으로 id값을 생성하는 것은 알겠는데 time을 사용하다 보니 빠른 시간안에 여러개의 id를 생성하게 되면 seed값이
같아져서 결국 id값이 같은 값이 되버리는 경우가 발생합니다.
질문 내용 : 각 id값에 데이터를 저장하고 있고 id값을 호출에 일을 처리할 예정이라 id값이 중복되면 문제가 발생합니다.
그래서 id값이 같은게 있는지 확인하고 겹치는게 있으면 다시 rand()로 새값을 만들려고 하는데
같은 시간대에 id를 여러개 생성하면 이미 다 같은 값을 가져버리네요... init()이란 함수에서 id를 만들게 했는데
유닉스같은 경우 usleep()을 사용해서 시간을 조절해주긴 하는거 같은데 window에선 그런게 없는듯해서요..
예를들면...
int init(){
srand( (unsigned)time(null) );
int id = rand()%10000;
g_id=id;
g_status=hello;
status_info[g_id]=g_status; //mapint g_id,string g_status로 되어있는 형식입니다...
return id;
}
- 1. 유일한 id값을 생성하는 방법...
2. map에서 id값이 겹치지 않게 확인하고 겹치면 다시 id를 만들어 사용하도록....
이 목적입니다... iter = status_info.find(id);
if (iter!= status_info.end()){
id = rand()%10000;
}
를 추가해주려고 했더니 소용없는것 같고 뭔가 잘못한듯...ㅠㅠ
조언부탁드립니다.... ^^ 감샤~
| 번호 | 제 목 | 글쓴이 | 날짜 |
|---|---|---|---|
| 2752085 | 문자열을 랜덤하게 출력해서 대체,삽입,삭제 횟수를 각가 표시하고 그걸 표 형태로 출력 | 슬아s | 2026-10-20 |
| 2752056 | 포인터 && 배열 질문요~ (2) | 해찬나래 | 2026-10-20 |
| 2752031 | x^n 구하는 코드 짜봤는데 값이 틀려요 ㅠㅠ | 세실 | 2026-10-20 |
| 2752000 | 나 정말 미치겠어요..ㅠㅜ (4) | 다이 | 2026-10-20 |
| 2751978 | 문자열 질문이요.. | 초시계 | 2026-10-19 |
| 2751945 | 숫자 맞추는 프로그램이요 ㅠㅠ (1) | 동은 | 2026-10-19 |
| 2751917 | C언어 이중 연결 관련 질문합니다. | 유우 | 2026-10-19 |
| 2751888 | return의 정확한 의미좀 알려주세요 (3) | 올해1살 | 2026-10-19 |
| 2751857 | 포인터 배열 (2) | 터큰 | 2026-10-18 |
| 2751831 | 연산자? 질문입니다 (2) | 진주 | 2026-10-18 |
| 2751800 | C언어 기초질문입니다.. (3) | 핫블랙 | 2026-10-18 |
| 2751739 | 파일 출력을 구조체로 받을 때, 파일의 끝을 판별하는 방법을 알려주세요. (2) | 얼 | 2026-10-17 |
| 2751715 | unresolved external symbol 에러... | 이룩 | 2026-10-17 |
| 2751686 | 변수 설정에 관한 질문입니다. | 꽃달 | 2026-10-17 |
| 2751655 | 자료구조 연습문제 | 한무릎 | 2026-10-17 |
| 2751631 | gets 함수 질문이요. (4) | 해늘 | 2026-10-16 |
| 2751553 | 퀵정렬 소스인데 주석좀 달아주세요 (1) | 싴흐한세여니 | 2026-10-16 |
| 2751528 | 저기 이거하는법좀 질문.. (2) | 가람슬기 | 2026-10-15 |
| 2751445 | 도저히 풀 수가 없네요.... (2) | 신당 | 2026-10-15 |
| 2751412 | 어제부터 계속 해도.........안되는.... (1) | 족장 | 2026-10-14 |
