PocketPCなどにUnix系のプログラムを移植する時にtime()関数がサポートされていない
ため,独自に実装する必要がある 下記はその一例である. // Kazuchi's R&D (C) 2004 Copyright // time_t timeCE(time_t *p) // 2004 kazuchi time_t time_tCE(time_t *p) { SYSTEMTIME nowtime; FILETIME nowfiletime; SYSTEMTIME epoctime; FILETIME epocfiletime; GetSystemTime(&nowtime); SystemTimeToFileTime(&nowtime,&nowfiletime); //Get UNIX Epoc time epoctime.wYear = 1970; epoctime.wMonth = 1; epoctime.wDay = 1; epoctime.wHour = 0; epoctime.wMinute= 0; epoctime.wSecond= 0; epoctime.wMilliseconds = 0; epoctime.wDayOfWeek = 0; SystemTimeToFileTime(&epoctime,&epocfiletime); UINT64 time_now,time_epoc,result; time_now= nowfiletime.dwHighDateTime; time_now=time_now<<32; time_now+=nowfiletime.dwLowDateTime; time_epoc= epocfiletime.dwHighDateTime; time_epoc=time_epoc<<32; time_epoc+=epocfiletime.dwLowDateTime; result=(time_now-time_epoc); result=result/1000/1000/1000*100; //resolution 1:100nsec if(p!=NULL) *p=(time_t)result; return (time_t)result; } |