2010-06-30 89 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

相关问题