`
xitong
  • 浏览: 6177326 次
文章分类
社区版块
存档分类
最新评论

在linux下如何较好的生成随机数

 
阅读更多

#include <stdlib.h>
#include <errno.h>
#include <iostream>
#include <sys/time.h>

using namespace std;

int main()
{
   int iRandNum = -1;
   const int iRandBeg = 0;
   const int iRandEnd = 9999;

   struct timeval ts;
   struct tm* pstTimeInfo;
   char szTimeBuf[16] = {0};
   char szUniqId[20] ={0};

   /* 
   gettimeofday(&ts, NULL);
   cout << ts.tv_sec << endl;   
   cout << time(0) << endl;  
   注意:该值time(0)返回秒数和ts.tv_sec结果一样。
   */

   for(int i=0;i<10000;i++) {      
       gettimeofday(&ts,NULL);
       pstTimeInfo = localtime((time_t *) &ts.tv_sec);
       strftime(szTimeBuf ,sizeof(szTimeBuf), "%Y%m%d%H%M%S", pstTimeInfo);
 
       //以秒数作为seed生成的随机数效果比较差,重复比较多
       //srand((unsigned int) time(0));

       //gen rand num,这里以微秒作为seed,效果相对好一点,
       //但也存在冲突 srand((unsigned int) ts.tv_usec);

      iRandNum = iRandBeg + (int)((float)(iRandEnd-iRandBeg)*rand()/(RAND_MAX+1.0));
      snprintf(szUniqId, sizeof(szUniqId), "%s%04d", szTimeBuf, iRandNum); 
      cout << szUniqId << endl;
      //usleep(100);
  } //end of for
 }


测试的数据如下:


分享到:
评论

相关推荐

    Qt Creator 的安装和hello world 程序+其他程序的编写--不是一般的好

    建立好后工程文件列表如下图。 2.新建对话框类,如下图,在新建中,选择Qt Designer Form Class。 3.选择Dialog without Buttons。 4.类名设为myDlg。 5.点击Finish 完成。注意这里已经默认将其加入到了我们刚建的...

    alg4_Perculations

    遵循这些说明后,命令 javac-algs4 和 java-algs4 将在 stdlib.jar 和 algs4.jar 中进行类路径:前者包含用于从标准输入读取数据、将数据写入标准输出、将结果绘制到标准绘制、生成随机数、计算统计和计时程序;...

    多奥淘宝客程序 V6.2.rar

    3.后台关键词导航里,增加“关键词随机数”设置,如果设置不为0,将随机取关键词。 4.后台高级设置里,增加“首页页面更新时间”设置,可以设置综合首页的更新速度。 5.后台增加整合配置,可以根据需求设置是否整合...

    多奥淘宝客_淘客帝国最新版

    3.后台关键词导航里,增加“关键词随机数”设置,如果设置不为0,将随机取关键词。 4.后台高级设置里,增加“首页页面更新时间”设置,可以设置综合首页的更新速度。 5.后台增加整合配置,可以根据需求设置是否整合...

    多奥淘客程序2011最新版本可以整合文章系统

    3.后台关键词导航里,增加“关键词随机数”设置,如果设置不为0,将随机取关键词。 4.后台高级设置里,增加“首页页面更新时间”设置,可以设置综合首页的更新速度。 5.后台增加整合配置,可以根据需求设置是否整合...

    店盟淘客程序

    3.后台关键词导航里,增加“关键词随机数”设置,如果设置不为0,将随机取关键词。 4.后台高级设置里,增加“首页页面更新时间”设置,可以设置综合首页的更新速度。 5.后台增加整合配置,可以根据需求设置是否整合...

    多奥淘宝客2012最新版

    3.后台关键词导航里,增加“关键词随机数”设置,如果设置不为0,将随机取关键词。 4.后台高级设置里,增加“首页页面更新时间”设置,可以设置综合首页的更新速度。 5.后台增加整合配置,可以根据需求设置是否整合...

    c语言编写单片机技巧

    所以在单片机开发中,我们还是建议采用汇编语言比较好。 如果对单片机C语言有兴趣,HOLTEK-p.htm" target="_blank" title="HOLTEK货源和PDF资料"&gt;HOLTEK的单片机就有提供C编译器,可以到HOLTEK-p....

    python数据分析随书代码

    1.1.3 Linux平台 3 1.1.4 Mac OS X平台 4 1.2 从源代码安装NumPy、SciPy、matplotlib和IPython 6 1.3 用setuptools安装 7 1.4 NumPy数组 7 1.5 一个简单的应用 8 1.6 将IPython用作shell 11 1.7 学习手册页 ...

    SQL sever 实训

    --创建视图V_Sale3,统计销售金额在10万以下的产品信息。 CREATE VIEW V_Sale3 AS SELECT Product.ProNO ,Product.ProName FROM Product ,Proout WHERE Product.ProNO=Proout.ProNo GROUP BY Product.ProNO,ProName ...

Global site tag (gtag.js) - Google Analytics