WINCE不支持time函数?

WinCE上不支持time.h中的常用的time函数,网上找了一小段代码为其补上。

  1. time_t time( time_t *inTT ) {
  2.  SYSTEMTIME sysTimeStruct;
  3.  FILETIME fTime;
  4.  ULARGE_INTEGER int64time;
  5.  time_t locTT = 0;
  6.  
  7.  if ( inTT == NULL ) {
  8.    inTT = &locTT;
  9.  }
  10.  
  11.  GetSystemTime( &sysTimeStruct );
  12.  if ( SystemTimeToFileTime( &sysTimeStruct, &fTime ) ) {
  13.    memcpy( &int64time, &fTime, sizeof( FILETIME ) );
  14.    /* Subtract the value for 1970-01-01 00:00 (UTC) */
  15.    int64time.QuadPart -= 0x19db1ded53e8000;
  16.    /* Convert to seconds. */
  17.    int64time.QuadPart /= 10000000;
  18.    *inTT = int64time.QuadPart;
  19.  }
  20.  
  21.  return *inTT;
  22. }

更好的解决方案可以使用LuaCe中的实现(在luace.c文件中,和时间有关的几个函数实现都有)
—–
不过想不明白,这么基础的函数M$为什么不提供在SDK中。开发人员就一定是要用Systemtime函数?

Popularity: 4% [?]

Random Posts