• 随机数种子、创建文件夹、系统时间


      1 /****************************************************************************
      2 Function:      //create_logs_folder()
      3 Description:   //创建日志文件夹
      4 Input:   //
      5 Return:   //
      6 
      7 *****************************************************************************/
      8 void High_Accuracy_Time_Seed_Function()
      9 {
     10     unsigned int t;
     11     struct timeb timeBuf;
     12 
     13 #if _SA_WINDOWS
     14     //Windows 平台
     15     LARGE_INTEGER nFrequency = {0};
     16     LARGE_INTEGER nStartCounter = {0};
     17 
     18     if(QueryPerformanceFrequency(&nFrequency))
     19     {
     20         QueryPerformanceCounter(&nStartCounter);
     21         srand((unsigned)nStartCounter.LowPart);
    
     22     }
     23     else
     24     {
     25         ftime (&timeBuf);
     26         t = ( ( ( (unsigned int)timeBuf.time & 0xFFFF) + (unsigned int)timeBuf.millitm) ^ (unsigned int)timeBuf.millitm);//随机数种子
     27         srand((unsigned )t);
     28     }
     29 #else
     30     //Linux平台
     31     struct timeval tv={0};
     32     gettimeofday(&tv, NULL);
     33     srand((unsigned )tv.tv_usec);
     34 #endif
     35 
     36     return ;
     37 }
     38 
     39 /****************************************************************************
     40 Function:      //create_logs_folder()
     41 Description:   //创建日志文件夹
     42 Input:   //
     43 Return:   //
     44 
     45 *****************************************************************************/
     46 void create_logs_folder()
     47 {
     48 #if _SA_WINDOWS
     49     int a = _access("logs", 0);//判断文件夹是否存在
     50 
     51     if(0 == a)
     52     {
     53         printf("Folder already exists!
    ");
     54     }
     55     else
     56     {
     57         int b = _mkdir("logs");//创建文件夹
     58         if(0 == b)
     59         {
     60             printf("Create a folder successfully!
    ");
     61         }
     62         else
     63         {
     64             printf("Create a folder failed!
    ");//语句返回给控制台
     65 
     66         }
     67     }
     68 
     69 #else
     70     int a = access("logs", 0);//判断文件夹是否存在
     71 
     72     if(0 == a)
     73     {
     74         printf("Folder already exists!
    ");
     75     }
     76     else
     77     {
     78         int b = mkdir("logs", 0);//创建文件夹
     79         if(0 == b)
     80         {
     81             printf("Create a folder successfully!
    ");
     82         }
     83         else
     84         {
     85             printf("Create a folder failed!
    ");//语句返回给控制台
     86 
     87         }
     88     }
     89 #endif
     90     return ;
     91 }
     92 
     93 /****************************************************************************
     94 Function:      //getsystem_time()
     95 Description:   //得到当前系统的时间打印到文件指针所指示的地方
     96 Input:   //
     97 Return:   //
     98 *****************************************************************************/
     99 void getsystem_time(FILE * fp)
    100 {
    101     struct tm *ptr;
    102     time_t it;
    103 
    104     it = time(NULL);
    105     ptr = localtime(&it);
    106     fprintf(fp, "*************************************************
    ");
    107     fprintf(fp, "%4d年%02d月%02d日 %02d:%02d:%02d  种群个数%d
    ", ptr->tm_year + 1900, ptr->tm_mon + 1, ptr->tm_mday, ptr->tm_hour, ptr->tm_min, ptr->tm_sec, Alg_param.Pop_size);
    108     fprintf(fp, "*************************************************
    ");
    109     //printf("%4d年%02d月%02d日 %d:%d:%d
    ", ptr->tm_year + 1900, ptr->tm_mon+1, ptr->tm_mday, ptr->tm_hour, ptr->tm_min, ptr->tm_sec);
    110 }
  • 相关阅读:
    Vue2.5
    Vue --- :is
    Vue面试中经常会被问到的面试题
    100道JS构造函数面试题
    100道前端面试题
    占位
    06-验证码-基本功能实现
    由ES规范学JavaScript(二):深入理解“连等赋值”问题
    JS中keyup, keypress, keydown以及oninput四个事件的区别
    Java中class的声明
  • 原文地址:https://www.cnblogs.com/hdu-2010/p/3599871.html
Copyright © 2020-2023  润新知