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

了解 Boost Filesystem Library

 2008-11-13 08:29:37 来源:WEB开发网   
核心提示: 清单 3. 使用本机格式初始化 path#ifdef UNIXboost::filesystem::path path("/tmp/mywork");#elseboost::filesystem::path path("C:mpmywork ");#

清单 3. 使用本机格式初始化 path

#ifdef UNIX
boost::filesystem::path path("/tmp/mywork");
#else
boost::filesystem::path path("C:  mpmywork ");
#endif

需要单个 #ifdef 来按操作系统初始化 path 对象。不过,如果您喜欢使用可移植格式,请参见清单 4。

清单 4. 使用可移植格式初始化 path

boost::filesystem::path path("/tmp/mywork");

请注意,path::name_check 指的是一个名称检查函数原型。如果其参数输入 PATHNAME 对于特定的操作系统或文件系统有效,名称检查函数将返回“True”。Boost Filesystem Library 提供了多个名称检查函数,而且也欢迎您提供自己的变体。常用的名称检查函数是 Boost 提供的 portable_posix_name 和 windows_name。

path 成员函数概述

path 对象提供了多个成员方法。这些成员例程并不会修改文件系统,但会根据 path 名称提供有用的信息。此部分提供了其中几个例程的概述:

const std::string& string( ):此例程会返回用于初始化 path 的字符串的副本,其格式符合 path 语法规则。

std::string root_directory( ):在提供了路径的情况下,此 API 将返回根目录,否则将返回空字符串。例如,如果路径包含 /tmp/var1,则此例程将返回 /,即 UNIX 文件系统的根。不过,如果路径是相对路径,如 ../mywork/bin,此例程将返回空字符串。

std::string root_name( ):在给定从文件系统根目录开始的路径的情况下,此例程将返回包含 PATHNAME 的第一个字符的字符串。

std::string leaf( ):在给定绝对路径名称(例如,/home/user1/file2)的情况下,此例程将提供与文件名称对应的字符串(即 file2)。

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

Tags:了解 Boost Filesystem

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