今天在做一个应用时,程序需要产生一个随机数,想到用time(0)来设置随机数的开始点,发现WINCE有time.h这个头文件,但是却提示time函数为不能识别的符号,Google一下,发现原来在lib中并没有time函数的实现,SO。。。
提供一个time模拟函数。代码如下:
time_t MyTime(time_t
*
inTT)
{
SYSTEMTIME sysTimeStruct;
FILETIME fTime;
ULARGE_INTEGER int64time;
time_t locTT = 0 ;
if ( inTT == NULL )
inTT = & locTT;
GetSystemTime( & sysTimeStruct );
if (SystemTimeToFileTime( & sysTimeStruct, & fTime))
{
memcpy( & int64time, & fTime, sizeof (FILETIME));
/* Subtract the value for 1970-01-01 00:00 (UTC) */
int64time.QuadPart -= 0x19db1ded53e8000 ;
/* Convert to seconds. */
int64time.QuadPart /= 10000000 ;
* inTT = int64time.QuadPart;
}
return * inTT;
}
{
SYSTEMTIME sysTimeStruct;
FILETIME fTime;
ULARGE_INTEGER int64time;
time_t locTT = 0 ;
if ( inTT == NULL )
inTT = & locTT;
GetSystemTime( & sysTimeStruct );
if (SystemTimeToFileTime( & sysTimeStruct, & fTime))
{
memcpy( & int64time, & fTime, sizeof (FILETIME));
/* Subtract the value for 1970-01-01 00:00 (UTC) */
int64time.QuadPart -= 0x19db1ded53e8000 ;
/* Convert to seconds. */
int64time.QuadPart /= 10000000 ;
* inTT = int64time.QuadPart;
}
return * inTT;
}