2012-08-15 135 views
1

我的目標是建立一個重命名在當前工作目錄中的所有文件,所以他們沒有任何空間,任何特殊字符或任何重音字符(例如É將成爲E)的程序。我打算使用int rename(const char *oldname, const char *newname);。我的問題是如何獲取當前工作目錄中的文件?我希望將我創建的可執行文件放入文件夾中,文件名稱不正確,然後運行它,文件全部重命名。如何獲取當前目錄中的所有文件名?

獨立於平臺的解決方案將是可取的,否則,我使用的是Windows 7企業版32位。

這個問題是不是重複的,因爲我不知道任何目錄正在從執行的程序是爲opendir ("c:\\src\\");的路徑。

+2

執行opendir,readdir的,closedir – Duck 2012-08-15 00:07:53

+2

'提振:: filesystem'有一個'directory_iterator'什麼的。 – chris 2012-08-15 00:10:20

+1

http://stackoverflow.com/questions/612097/how-can-i-get-a-list-of-files-in-a-directory-using-c-or-c – Duck 2012-08-15 00:11:16

回答

0

的選項是使用opendir(「。」),這將打開當前目錄。

+0

它看起來目前的C++標準沒有方便的接口來讀取目錄中的所有文件。未來的版本應該增加這個功能。 Unix系統具有處理文件系統的所有C接口。 Unix實際上非常擅長用File的抽象來表示所有的文件系統對象。 – 2017-01-04 20:33:30

相關問題