获得文件存在的时间

来源:互联网 发布:linux展示文件权限 编辑:程序博客网 时间:2024/05/17 17:15

windows

/*return legal on true, false on illegal */bool LockFileStatusLegal(const char *filename){assert(filename != NULL);int len = strlen(filename);char *tmpname = (char*) malloc(len+7);strcpy(tmpname, filename);strcat(tmpname, ".lock");FILETIME  ftLastAccess;SYSTEMTIME stUTC, stLocal;LPWIN32_FIND_DATAA fileinfo = new WIN32_FIND_DATAA;FindClose(FindFirstFileA(tmpname, fileinfo));ftLastAccess = fileinfo->ftLastAccessTime;FileTimeToSystemTime(&ftLastAccess, &stUTC);SystemTimeToTzSpecificLocalTime(NULL, &stUTC, &stLocal);SYSTEMTIME systime;GetSystemTime(&systime);if(    (systime.wMinute - stLocal.wMinute) > 5|| (systime.wMinute - stLocal.wMinute) < -5 ){free(tmpname);delete fileinfo;return false;}free(tmpname);delete fileinfo;return true;}

LINUX

bool LockFileStatusLegal(const char *filename){assert(filename != NULL);int len = strlen(filename);char *tmpname = (char*) malloc(len+7);strcpy(tmpname, filename);strcat(tmpname, ".lock");struct stat buf;int result = 0;result =stat( tmpname, &buf );time_t lasttime = buf.st_atime;time_t now;time(&now);if( (now - lasttime) > 300 ){free(tmpname);return false;}free(tmpname);return true;}


原创粉丝点击