gpt4 book ai didi

c++ - Windows上使用C++获取文件属性变化时间

转载 作者:可可西里 更新时间:2023-11-01 10:42:01 30 4
gpt4 key购买 nike

我需要 修改时间创建时间更改时间 在使用 cpp 的窗口中的文件。我正在使用以下代码:

string filename = "D:\\hi.txt";
struct stat result;
if (stat(filename.c_str(), &result) == 0)
{
int a = 10;
auto mod_time = result.st_mtime;
cout << "modified time is: "<<mod_time<<endl;
}

使用它我可以获得修改创建时间。但是,我无法获取文件的更改时间。我应该如何使用 cpp 获取文件的更改时间

“更改时间”的定义如下。

Modification time changes when the content of the file changes and Change time changes even when the properties of the file change like access permissions.

最佳答案

MSDN 为文件定义了三个时间戳:创建时间、上次访问时间、上次写入时间。您所要求的实际上是上次访问时间。

在您的示例中,您使用了一个 Libc 函数 stat()它适用于所有具有 C 编译器的系统。事实上,它可能过于通用,即它不代表特定环境(在您的情况下为 MS Windows)内可用的所有功能,仅代表通用属性的一个子集。

在此link您可以找到 GetFileTime() WinAPI 函数的描述,该函数返回 Windows 支持的文件时间。如果您编写的应用程序不打算移植到其他平台,则最好使用 WinAPI 进行系统级操作。

关于c++ - Windows上使用C++获取文件属性变化时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48706179/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com