获得文件存在的时间

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


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

linux下的access()函数判断文件是否存在、打印时间

linux下的access()函数判断文件是否存在、打印时间 一、access函数 功能描述: 检查调用进程是否可以对指定的文件执行某种操作。   用法: ...

linux下的access()函数判断文件是否存在、打印时间

一、access函数 功能描述: 检查调用进程是否可以对指定的文件执行某种操作。   用法: #include #include int access(const cha...

linux下的access()函数判断文件是否存在、打印时间

http://www.iteye.com/topic/1113637 一、access函数 功能描述:  检查调用进程是否可以对指定的文件执行某种操作。     用法...
  • Pansing
  • Pansing
  • 2014年03月19日 18:33
  • 489

bat.文件的命令语法 和如何获得时间戳

常用命令  echo、@、call、pause、rem(小技巧:用::代替rem)是批处理文件最常用的几个命令,我们就从他们开始学起。  ==== 注 ===========  首先, ...
  • a0you
  • a0you
  • 2011年09月23日 11:18
  • 11472

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

文件的状态中,维护着三个时间,分别是: last access time:最后访问时间,文件的读、写、执行等都会改变文件的最后访问时间 last modify time:最后修改时间,文件的tru...

《UNIX环境高级编程》笔记--文件时间

对于每个文件都有3个时间字段,它们保存在stat结构中: 修改时间是对文件内容最后一次修改的时间,更改时间是对文件的i节点最后一次修改的时间。 下面使用linux命令来说明说明文件的三个时间字段。...
  • TODD911
  • TODD911
  • 2013年10月15日 14:45
  • 1284
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:获得文件存在的时间
举报原因:
原因补充:

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