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

  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 }
原文地址:https://www.cnblogs.com/hdu-2010/p/3599871.html