c++生成指定范围内的随机数
int RandGenerator(DWORD dwRandMaxVal, DWORD dwRandMinVal, DWORD dwRandCount, std::map<DWORD, DWORD> &mRandValue)
{
assert(dwRandMaxVal >=0 && dwRandMinVal >= 0 && dwRandCount>=0 && (dwRandMaxVal - dwRandMinVal >= dwRandCount - 1));
if (dwRandMaxVal <0 || dwRandMinVal < 0 || dwRandCount<0 || (dwRandMaxVal - dwRandMinVal < dwRandCount - 1)) return -1;
LARGE_INTEGER seed;
QueryPerformanceFrequency(&seed);
QueryPerformanceCounter(&seed);
srand(seed.QuadPart);
while (mRandValue.size() < dwRandCount)
{
DWORD temp = rand() % (dwRandMaxVal - dwRandMinVal + 1) + dwRandMinVal;
if (mRandValue.find(temp) != mRandValue.end())continue;
mRandValue.insert(std::pair<DWORD, DWORD>(temp, 1));
}
return dwRandCount;
}