2013-01-02 68 views
3

我必须使用C++删除给定目录中早于n天的所有文件。我使用“dirent”来执行某些文件操作,例如列出给定目录中的所有文件,但不知道如何检查日期属性并应用数学来删除n天以前的文件。使用C++删除旧文件

请指教。

+6

没有跨平台的解决方案。 –

+0

你可能会看看boost文件系统,但我怀疑它支持平台和mod日期 –

+0

如果你正在使用POSIX(“dirent”是POSIX),看看['fstat'](http://linux.die达网络/人/ 2/FSTAT)。但是,我不知道这是否适用于Android和iOS等移动平台......一旦您在几秒钟内获得了时间戳,您可以简单地将其与当前时间进行比较,看看它是否小于“n * 86400”(一天有86400秒) – leemes

回答

0

困难。即使在新的C++ 11标准中,语言本身也不支持文件系统。 (这是对下一个技术报告“C++ TR2”的建议。)

Boost对Android和iOS没有官方支持。 Qt 4.x都没有。

但是,Qt 5将支持Android和iOS。它似乎刚刚发布,所以也许你可以试试看。文件系统支持是其QtCore模块的一部分(例如,QFileQDir)。

+0

thanks.let我检查一下QT是否有用。 – user1908860