21xrx.com
2024-11-22 02:33:34 Friday
登录
文章检索 我的文章 写文章
C++获取文件的最后修改时间
2023-07-07 07:40:03 深夜i     --     --
C++ 文件 最后修改时间 获取 编程技巧

C++是一种高效的编程语言,被广泛应用于各种领域。在C++编程中,获取文件的最后修改时间是一个常见的需求,因为在一些场合中,需要根据文件的修改时间来做出相应的处理。

在C++中,获取文件的最后修改时间可以使用系统API函数。在Windows操作系统中,可以使用GetFileTime函数来获取文件的创建时间、最后访问时间和最后修改时间,其中最后修改时间是我们所需的。

以下是获取文件最后修改时间的C++代码示例:


#include <iostream>

#include <windows.h>

int main()

{

  // 文件名

  const char* filename = "file.txt";

  // 打开文件

  HANDLE fileHandle = CreateFile(filename, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);

  if (fileHandle == INVALID_HANDLE_VALUE)

  

    std::cerr << "Error: cannot open file " << filename << std::endl;

    return 1;

  

  FILETIME creationTime, lastAccessTime, lastWriteTime;

  // 获取文件的创建时间、最后访问时间、最后修改时间

  if (!GetFileTime(fileHandle, &creationTime, &lastAccessTime, &lastWriteTime))

  

    std::cerr << "Error: cannot get file time for " << filename << std::endl;

    return 1;

  

  // 将文件最后修改时间转换为系统时间

  SYSTEMTIME sysTime;

  FileTimeToSystemTime(&lastWriteTime, &sysTime);

  // 输出文件最后修改时间

  std::cout << "File " << filename << " last modified on ";

  std::cout << sysTime.wYear << "-" << sysTime.wMonth << "-" << sysTime.wDay << " ";

  std::cout << sysTime.wHour << ":" << sysTime.wMinute << ":" << sysTime.wSecond << std::endl;

  // 关闭文件

  CloseHandle(fileHandle);

  return 0;

}

在这个示例中,我们使用CreateFile函数打开文件,并使用GetFileTime函数获取文件的最后修改时间。然后,我们使用FileTimeToSystemTime函数将文件最后修改时间转换为系统时间,并输出到控制台。

通过使用上述代码,我们可以很方便地获取文件的最后修改时间,并根据实际需求进行进一步的操作,例如根据文件最后修改时间进行排序、比较等。C++的强大功能使得我们可以轻松地完成这些任务,并提高我们的工作效率。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复