gpt4 book ai didi

c++ - C++获取文件或文件夹的创建日期

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:36:47 25 4
gpt4 key购买 nike

我想编写一个程序来获取我创建的文件和文件夹的详细信息,包括创建日期,如下所示:2006 年 2 月 15 日我应该怎么办?有什么建议吗?而且我必须提到我不允许使用 windows.h 。

最佳答案

类Linux系统中,可以像这样使用stat函数:

#include <sys/stat.h>
#include <time.h>
#include <stdio.h>

int main(int argc, char **argv)
{
struct stat t_stat;
stat("file_name", &t_stat);
struct tm * timeinfo = localtime(&t_stat.st_ctime); // or gmtime() depending on what you want
printf("File time and date: %s", asctime(timeinfo));

return 0;
}

Windows 中,我建议使用 system() 函数并从命令行获取文件时间:

#include <stdlib.h>

int main(int argc, char **argv)
{
system("dir /T:C file_name");

return 0;
}

您可以将 system() 的输出重定向到例如一个临时文件并从那里解析日期。

或使用此解决方法 https://stackoverflow.com/a/40504396/1422630 ,这使得 windows 的 _stat 与 linux 的 stat 兼容,基本上:

#ifdef WIN32
#define stat _stat
#endif

关于c++ - C++获取文件或文件夹的创建日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21159047/

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