gpt4 book ai didi

C++:如何获取文件夹列表

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:16:08 25 4
gpt4 key购买 nike

我不熟悉 C++,因为我是一名 C# 开发人员。

在我的项目中,我需要删除一周前的所有文件夹。在C++中,如何根据当前系统日期时间获取一周前的文件夹列表?

我正在研究在 Ubuntu 10.10 上运行的 Eclipse IDE。

如果您能提供一些代码示例,那就太好了。

在此先致谢,非常感谢您的帮助!

最佳答案

随着提升:

#include <boost/foreach.hpp>
#include <boost/filesystem.hpp>

int main(int, char**)
{
time_t one_week_ago = std::time(NULL) - (7 * 24 * 3600);

boost::filesystem::directory_iterator dir("/tmp"), end;

BOOST_FOREACH(const boost::filesystem::path& p, std::make_pair(dir, end))
if(boost::filesystem::is_directory(p))
if(boost::filesystem::last_write_time(p) < one_week_ago)
boost::filesystem::remove_all(p);
}

或者不使用 boost::foreach

#include <boost/filesystem.hpp>

int main(int, char**)
{
time_t one_week_ago = std::time(NULL) - (7 * 24 * 3600);

boost::filesystem::directory_iterator dir("/tmp"), it, end;

for(it = dir; it != end; it++)
{
const boost::filesystem::path& p = *it;
if(boost::filesystem::is_directory(p))
if(boost::filesystem::last_write_time(p) < one_week_ago)
boost::filesystem::remove_all(p);
}
}

关于C++:如何获取文件夹列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4183847/

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