WEB开发网
开发学院操作系统Linux/Unix 了解 Boost Filesystem Library 阅读

了解 Boost Filesystem Library

 2008-11-13 08:29:37 来源:WEB开发网   
核心提示: bool create_symlink(const path& frompath, const path& topath):此函数在 frompath 和 topath 间创建符号(软)链接, void copy_file(const path& frompath, const path&

bool create_symlink(const path& frompath, const path& topath):此函数在 frompath 和 topath 间创建符号(软)链接。

void copy_file(const path& frompath, const path& topath):将 frompath 引用的文件的内容和属性复制到 topath 引用的文件中。例程expects a destination file to be absent;如果存在目标文件,则会引发异常。因此,此函数与 UNIX 中系统指定的 cp 命令并不等效。另外,此函数还预期 frompath 变量将引用正确的常规文件。请看以下示例:frompath 引用符号链接 /tmp/file1,而后者反过来引用文件 /tmp/file2;而 topath 可以为 /tmp/file3。在这种情况下,copy_file 将失败。这是此 API 与 cp 命令相比的另一个差别。

void rename(const path& frompath, const path& topath):此函数是用于重命名文件的 API。可以通过在 topath 参数中指定完整路径名来同时重命名和更改文件的位置,如清单 8 中所示。

清单 8. Boost 中的重命名功能

#include <stdio.h>
#include “boost/filesystem.hpp”
int main()
 {
 boost::filesystem::path path("/home/user1/abc");
 boost::filesystem::rename(path, "/tmp/def"); 
 return 0;
 }
// abc is renamed def and moved to /tmp folder

bool remove(const path& p):此例程将尝试删除路径 p 所引用的文件或目录。对于目录的情况,如果目录的内容不为空,则此例程将引发异常。警告:此例程并不考虑所删除的内容,即使其他程序在访问同一文件也如此!

unsigned long remove_all(const path& p):此 API 尝试删除路径 p 所引用的文件或目录。与 remove 不同,此函数并不会特殊考虑不为空的目录。此函数是 UNIX rm –rf 命令的 Boost 对等项。

上一页  2 3 4 5 6 7 8 9  下一页

Tags:了解 Boost Filesystem

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接