2012-10-05 29 views
3

我正在編寫一個程序,每次運行它時都會生成許多輸出文件。我添加了一個選項來指定一個輸出目錄,這樣我就不會混亂我的源代碼目錄。不過,我不想每次運行它時都要改名(我這樣懶),因爲我仍在開發它,而且我的迭代速度很快。是否有一個庫在C++中創建一組具有相同名稱和索引的目錄?

優雅的解決方案,我腦子裏想的是,如果我指定輸出foo,並foo已經存在,我的程序應該創建foo.0,然後foo.1等,廣告nauseum(或直到我用盡磁盤空間)。我已經看到了這個我用過的很多工具都完成了。

我可以很容易地編寫一些循環,檢查每個索引名稱的存在,並增加索引,直到找到一個未使用的名稱。但是,我已經看到了這麼多工具的完成,似乎有邏輯,有某種類型的庫可以這樣做。

我的問題是:是否有任何C++庫,我可以使用,將創建一個具有給定名稱+下一個免費索引的目錄?

+2

爲什麼不簡單地使用毫秒分辨率的時間戳「下一個自由索引」? – BlakBat

+0

另請注意,由於訪問文件系統時存在固有的併發問題,因此這是一個遠離微不足道的問題。使用毫秒分辨率時間戳也不能解決這個問題,並且產生更少的用戶友好目錄名稱。 –

+0

毫秒分辨率對於OP來說似乎已經足夠了,因爲他自己觸發了所有的運行。 –

回答

1

這樣的特定任務似乎不太可能存在庫。您可以使用boost::filesystem來檢查目錄是否存在。實現所需功能的代碼的大小不應超過20行。

相關問題