c++文件修改时间

#include <windows.h>
#include <stdio.h>
//----------- Error Handling Function -------------------
void error(LPSTR lpszFunction)
{
    CHAR szBuf[80];
    DWORD dw = GetLastError();

    sprintf(szBuf, "%s failed: GetLastError returned %u\n",
        lpszFunction, dw);

    MessageBox(NULL, szBuf, "Error", MB_OK);
    ExitProcess(dw);
}
//--------------------------------------------------------

BOOL GetFileTime(HANDLE hFile, LPSTR lpszCreationTime, LPSTR lpszLastAccessTime, LPSTR lpszLastWriteTime)
{
    FILETIME ftCreate, ftAccess, ftWrite;
    SYSTEMTIME stUTC1, stLocal1, stUTC2, stLocal2, stUTC3, stLocal3;

    // -------->获取 FileTime
    if (!GetFileTime(hFile, &ftCreate, &ftAccess, &ftWrite)){
        error("GetFileTime()");
        return FALSE;
    }
    //---------> 转换: FileTime --> LocalTime
    FileTimeToSystemTime(&ftCreate, &stUTC1);
    FileTimeToSystemTime(&ftAccess, &stUTC2);
    FileTimeToSystemTime(&ftWrite, &stUTC3);

    SystemTimeToTzSpecificLocalTime(NULL, &stUTC1, &stLocal1);
    SystemTimeToTzSpecificLocalTime(NULL, &stUTC2, &stLocal2);
    SystemTimeToTzSpecificLocalTime(NULL, &stUTC3, &stLocal3);

    // ---------> Show the  date and time.
    wsprintf(lpszCreationTime, "创建时间:\t%02d/%02d/%d  %02d:%02d",
        stLocal1.wDay, stLocal1.wMonth, stLocal1.wYear,
        stLocal1.wHour, stLocal1.wMinute);
    wsprintf(lpszLastAccessTime, "最后访问时间:\t%02d/%02d/%d  %02d:%02d",
        stLocal2.wDay, stLocal2.wMonth, stLocal2.wYear,
        stLocal2.wHour, stLocal2.wMinute);
    wsprintf(lpszLastWriteTime, "最后修改时间:\t%02d/%02d/%d  %02d:%02d",
        stLocal3.wDay, stLocal3.wMonth, stLocal3.wYear,
        stLocal3.wHour, stLocal3.wMinute);
    return TRUE;
}
//----------------------------------------------------------------
int main(int argn, char* argv[])
{
    if (argn < 2)
    {
        return -1;
    }

    HANDLE hFile;
    TCHAR szCreationTime[30], szLastAccessTime[30], szLastWriteTime[30];
    hFile = CreateFile(argv[1], 0, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
    GetFileTime(hFile, szCreationTime, szLastAccessTime, szLastWriteTime);
    if (hFile == INVALID_HANDLE_VALUE){
        error("GetLastWriteTime()");
        return 0;
    }
    printf("%s\n%s\n%s\n", szCreationTime, szLastAccessTime, szLastWriteTime);
    CloseHandle(hFile);
    system("pause");

    return 0;
}
时间: 2025-01-13 10:42:50

c++文件修改时间的相关文章

一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本

摘自:http://blog.csdn.net/forandever/article/details/5711319 一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本 @for&ever 2010-07-03 功能: 获取指定目录下面符合一定规则的文件名称和文件修改时间,并保存到指定的文件中 脚本如下: #!/usr/bin/env python# -*- coding: utf-8 -*- '''Created on 2010-7-2 @author: fore

shell脚本判断linux文件修改时间后执行操作

判断linux文件修改时间后执行操作 创建脚本 vi /var/tomcat/find.sh #!/bin/bash a=`stat -c %Y /var/tomcat/logs/catalina.out`  //获取文件的修改时间(秒为单位) b=`date +%s`       //获取当前系统的时间 (秒为单位) if [ $[ $b - $a ] -gt 1800 ];   //判断当前时间和文件修改时间差(30分钟) then /sbin/service tomcat restart

Linux stat命令和AIX istat命令 (查看文件修改时间)

在工作中,经常会执行一些定期执行的脚本,每次执行前我们应该查看一下脚本是否有变化,防止有人在脚本中植入有危害的命令,这里有一个命令很实用,大家可以熟悉一下. 1.AIX 系统命令istat $ istat init+ASM.ora Inode 111666 on device 10/15 File Protection: rw-r--r-- Owner: 511(grid) Group: 511(oinstall) Link count: 1 Length 5242 bytes Last upd

文件按修改时间和创建时间遍历

NSFileCreationDate和NSFileModificationDate两个属性分别代表文件创建时间和修改时间 NSArray *sortedPaths = [array sortedArrayUsingComparator:^(NSString * firstPath, NSString* secondPath) { NSString *firstUrl = [docPath stringByAppendingPathComponent:firstPath];//获取前一个文件完整路

Linux下文件的三种时间标记:访问时间、修改时间、状态改动时间 (转载)

在windows下,一个文件有:创建时间.修改时间.访问时间. 而在Linux下,一个文件也有三种时间,分别是:访问时间.修改时间.状态改动时间. 两者有此不同,在Linux下没有创建时间的概念,也就是不能知道文件的建立时间,但如果文件建立后就没有修改过,修改时间=建立时间;如果文件建立后, 状态就没有改动过,那么状态改动时间=建立时间;如果文件建立后,没有被读取过,那么访问时间=建立时间,因为不好判断文件是否被改过.读过.其状态是否 变过,所以判断文件的建立时间基本上能为不可能. 如何查一个文

python文件夹遍历,文件操作,获取文件修改创建时间

在Python中,文件操作主要来自os模块,主要方法如下: os.listdir(dirname):列出dirname下的目录和文件os.getcwd():获得当前工作目录os.curdir:返回当前目录('.')os.chdir(dirname):改变工作目录到dirname os.path.isdir(name):判断name是不是一个目录,name不是目录就返回falseos.path.isfile(name):判断name是不是一个文件,不存在name也返回falseos.path.ex

【转载】在Linux下,一个文件也有三种时间,分别是:访问时间、修改时间、状态改动时间

在windows下,一个文件有:创建时间.修改时间.访问时间.而在Linux下,一个文件也有三种时间,分别是:访问时间.修改时间.状态改动时间. 两者有此不同,在Linux下没有创建时间的概念,也就是不能知道文件的建立时间,但如果文件建立后就没有修改过,修改时间=建立时间;如果文件建立后,状态就没有改动过,那么状态改动时间=建立时间;如果文件建立后,没有被读取过,那么访问时间=建立时间,因为不好判断文件是否被改过.读过.其状态是否变过,所以判断文件的建立时间基本上能为不可能. 如何查一个文件的三

得到文件的创建时间修改时间等

#include <windows.h> #include <tchar.h> #include <strsafe.h> // GetLastWriteTime - Retrieves the last-write time and converts// the time to a string//// Return value - TRUE if successful, FALSE otherwise// hFile - Valid file handle// lps

Web 在线文件管理器学习笔记与总结(2)显示文件列表(名称,类型,大小,可读,可写,可执行,创建时间,修改时间,访问时间)

主要函数: filetype() 判断文件类型 filesize() 得到文件大小(字节) is_readable() 判断文件是否可读 is_writeable() 判断文件是否可写 is_executable() 判断文件是否可执行 filectime() 文件创建时间 filemtime() 文件修改时间 fileatime() 文件访问时间 file.func.php 封装文件操作的文件: <?php /* 转换字节大小 */ function transByte($size){ $ar