获得文件存在的时间

原创 2012年03月21日 22:32:26

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;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

获取某一文件夹下特别创建时间以后的文件

void CMainWnd::GetCASrcFileList(CStringArray *pSrcCAFilePath,CString StrSrcDir,CTime StartTime )  {...
  • shejiannan
  • shejiannan
  • 2015年07月16日 09:44
  • 608

php获得一段时间范围内日期列表

//当前日期 $start_date = date("Y-m-d",time()); //本月最后一天日期 $end_date = date('Y-m-d', strtotime("$start_da...
  • zhuziying99
  • zhuziying99
  • 2015年09月02日 11:01
  • 310

Java中如何得到文件的创建时间&最后修改时间

java中只能用java.io.File获得文件的最后修改时间,如下: 比如我在D盘有个文件夹a,现在要获取其创建时间: File file = new File("D:\\a"); lon...
  • StarLOVELeaf
  • StarLOVELeaf
  • 2017年02月21日 15:07
  • 1052

C++ 如何获取目录下面的文件/文件的创建时间

http://www.cnblogs.com/king_astar/archive/2009/09/27/1575107.html 我手上有一个C++程序会生成一些临时文件,过期以后希望能够删除....
  • chenyijun
  • chenyijun
  • 2016年09月09日 10:35
  • 1678

QTP 怎么判断一个文件是否存在

判断一个文件是否存在需要用FileSystemObject: sSourceFile="C:\Source.xls" set fso=CreateObject("Scripting.FileSys...
  • appleheshuang
  • appleheshuang
  • 2012年04月18日 14:39
  • 1845

根据文件获取文件夹,判断文件夹是否存在,不存在则创建

开发环境:VS2008 语言:C# 功能:根据文件获取文件所在文件夹,并判断文件夹是否存在子文件夹2 如果不存在子文件夹2,则创建 string fileName = "D:\...
  • w88193363
  • w88193363
  • 2013年01月18日 10:12
  • 2701

获得当前文件的最后更新时间

File f = new File("C:\\test.txt"); Calendar cal = Calendar.getInstance(); long time = f.lastModi...
  • wyazyf
  • wyazyf
  • 2017年05月11日 11:15
  • 63

Linux环境,使用C语言获得文件access、modify、change的时间

文件的状态中,维护着三个时间,分别是: last access time:最后访问时间,文件的读、写、执行等都会改变文件的最后访问时间 last modify time:最后修改时间,文件的tru...
  • life_liver
  • life_liver
  • 2013年11月14日 10:34
  • 1081

GetFileTime获得文件的时间信息

GetFileTime函数用来获得一个文件或目录的创建的时间、最后访问的时间以及最后修改的时间: 1 BOOL WINAPI GetFileTime( 2 __in HANDLE h...
  • milanleon
  • milanleon
  • 2014年01月10日 16:06
  • 987

common lisp中获取当前文件路径

1,直接获取当前文件夹的路径: (print (probe-file ".") ) 2.或许打开文件的大小: (let ((file (open "hello.c" :if-does-not-...
  • way88liu
  • way88liu
  • 2015年02月05日 16:06
  • 1811
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:获得文件存在的时间
举报原因:
原因补充:

(最多只允许输入30个字)