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

了解 Boost Filesystem Library

 2008-11-13 08:29:37 来源:WEB开发网   
核心提示: std::string branch_path( ):这是与 leaf 互补的例程,在给定路径的情况下,了解 Boost Filesystem Library(4),将会返回其构造所用的所有元素(除了最后一个元素),例如,它将返回使用 lhs 和 rhs 形成的路径的串联值,它将自动插入

std::string branch_path( ):这是与 leaf 互补的例程。在给定路径的情况下,将会返回其构造所用的所有元素(除了最后一个元素)。例如,对于使用 /a/b/c 初始化的 path,path.branch_path( ) 将返回 /a/b。对于包含单个元素的路径,如 c,此例程将返回空字符串。

bool empty( ):如果 path 对象包含空字符串(例如 path path1("")),则此例程将返回 True。

boost::filesystem::path::iterator:此例程用于遍历 path 的各个元素。请看清单 5 所示的代码。

清单 5. 使用 path::iterator(begin 和 end 接口)

#include <iostream>
#include “boost/filesystem.hpp”
int main()
 {
 boost::filesystem::path path1("/usr/local/include"); // random pathname
 boost::filesystem::path::iterator pathI = path1.begin();
 while (pathI != path1.end())
  {
  std::cout << *pathI << std::endl;
  ++pathI;
  }
 return 0;
 }
// result: 1

上述程序的输出依次是 /、usr、local、include,代表了该目录的层次结构。

path operator / (char* lhs, const path& rhs):此例程是 path 的非成员函数。它将返回使用 lhs 和 rhs 形成的路径的串联值。它将自动插入 / 作为路径分隔符,如清单 6 中所示。

清单 6. 路径字符串的串联

#include <iostream>
#include “boost/filesystem.hpp”
int main()
 {
 boost::filesystem::path path1("/usr/local/include"); // random pathname
 boost::filesystem::path::iterator pathI = path1.begin();
 while (pathI != path1.end())
  {
  std::cout << *pathI << std::endl;
  ++pathI;
  }
 return 0;
 }
// result: 1

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

Tags:了解 Boost Filesystem

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