2013-01-02 65 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