2010-06-30 91 views
17

我正在使用boost文件系統來替換Windows C++函數(如CopyFile和MoveFile)以獲得Windows和Linux之間的某種可移植性。我正在使用copy_file,但我一直無法找到像「move_file」函數那樣移動文件的任何內容。提升有移動文件功能嗎?爲什麼沒有boost :: filesystem :: move_file?

我非常希望使用提升,但歡迎提供其他建議。

回答

34

它被稱爲rename,見the manual。與相應的OS功能一樣,如果源路徑和目標路徑位於不同的文件系統上,這可能會也可能不起作用。如果不起作用,請使用複製操作,然後執行刪除操作。

+3

我承認,閱讀手冊,然後又通過閱讀說明書中提到的ISO C頁面,我沒有看到任何明確指出該目標可以是別的目錄下的文件,以移動文件從一個目錄到另一個目錄。仔細閱讀意味着這是可能的,但是我認爲如果它明確表示這種可能性,助推文檔將更加有用和更清晰。提升文檔憑單:https://svn.boost.org/trac/boost/ticket/9643 – legalize 2014-02-07 14:58:04

-6
void add_time(ptime& gen_time, int seconds) { 
    boost::posix_time::millisec_posix_time_system_config::time_duration_type time_elapse(0, 0, seconds); 
    //time_elapse = p2 - p1; 
    gen_time = gen_time + time_elapse; 
} 
+16

也許這是正確的答案,但對於其他問題。 – Dialecticus 2013-09-25 11:54:47

相關問題