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!\n");
54 }
55 else
56 {
57 int b = _mkdir("logs");//创建文件夹
58 if(0 == b)
59 {
60 printf("Create a folder successfully!\n");
61 }
62 else
63 {
64 printf("Create a folder failed!\n");//语句返回给控制台
65
66 }
67 }
68
69 #else
70 int a = access("logs", 0);//判断文件夹是否存在
71
72 if(0 == a)
73 {
74 printf("Folder already exists!\n");
75 }
76 else
77 {
78 int b = mkdir("logs", 0);//创建文件夹
79 if(0 == b)
80 {
81 printf("Create a folder successfully!\n");
82 }
83 else
84 {
85 printf("Create a folder failed!\n");//语句返回给控制台
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, "*************************************************\n");
107 fprintf(fp, "%4d年%02d月%02d日 %02d:%02d:%02d 种群个数%d\n", 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, "*************************************************\n");
109 //printf("%4d年%02d月%02d日 %d:%d:%d\n", ptr->tm_year + 1900, ptr->tm_mon+1, ptr->tm_mday, ptr->tm_hour, ptr->tm_min, ptr->tm_sec);
110 }