簡體   English   中英

在Windows上使用C ++獲取文件屬性更改時間

[英]Obtain file properties change time using C++ on Windows

我需要使用cpp在Windows中modification timecreation timechange time文件的change time 我正在使用以下代碼:

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

使用這個我可以得到modificationcreation time 但是,我無法獲取文件的change time 如何使用cpp獲取文件change time

以下是“更改時間”的定義。

修改時間會在文件內容更改時更改,並且更改時間也會更改,即使文件的屬性(如訪問權限)也會更改。

MSDN為文件定義了三個時間戳:創建時間,上次訪問時間,上次寫入時間。 您要求的實際上是最后訪問時間。

在您的示例中,您使用了Libc函數stat() ,該函數旨在在具有C編譯器的所有系統上工作。 實際上,它可能太通用了,即,它不代表特定環境(在您的情況下為MS Windows)內部的所有可用功能,僅代表通用屬性的一部分。

在此鏈接中,您可以找到WinAPI函數GetFileTime()的描述,該函數返回Windows支持的文件時間。 如果編寫的應用程序不打算移植到其他平台,則最好使用WinAPI進行系統級的操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM