【原创】WindowsCE下的time函数实现
今天在做一个应用时,程序需要产生一个随机数,想到用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;
}
posted on 2009-12-25 21:30 IamEasy_Man 阅读(525) 评论(0) 编辑 收藏 举报