获得文件存在的时间

原创 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()函数判断文件是否存在、打印时间

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

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

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

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

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

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

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

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

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

文件时间修改器

  • 2015-08-24 19:53
  • 285KB
  • 下载

java的文件操作处理时间数据

速度从最快到最慢的排序是: 1,内存映射文件 2,带缓冲的输入流 3,普通输入流 4,随机访问文件

批量改文件时间

  • 2016-12-07 15:44
  • 36KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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