了解 Boost Filesystem Library
2008-11-13 08:29:37 来源:WEB开发网清单 1. 用于确定某个文件的类型是否为 Directory 的代码
#include <stdio.h>
#include “boost/filesystem.hpp”
int main()
{
boost::filesystem::path path("/usr/local/include"); // random pathname
bool result = boost::filesystem::is_directory(path);
printf(“Path is a directory : %dn”, result);
return 0;
}
此代码非常明了易懂,您并不需要了解任何系统特定的例程。此代码经过验证,能在不用修改的情况下在 gcc-3.4.4 和 cl-13.10.3077 上成功编译。
了解 Boost path 对象
了解 Boost Filesystem Library 的关键是 path 对象,因为 Filesystem Library 中定义的多个例程都要对相应的 path 对象操作。文件系统路径通常依赖于操作系统。例如,众所周知,UNIX 和 Linux 系统使用正斜杠 ( /) 字符作为目录分隔符,而 Windows 将反斜杠 () 字符用于类似的用途。boost::filesystem::path 旨在准确地抽象此特性。path 对象可以通过多种方式进行初始化,最常见的方式是使用 char* 或 std::string 进行初始化,如清单 2 中所示。
清单 2. 创建 Boost path 对象的方法
path(); // empty path
path(const char* pathname);
path(const std::string& pathname);
path(const char* pathname, boost::filesystem::path::name_check checker);
path(const char* pathname, boost::filesystem::path::name_check checker);
在初始化 path 对象时,可以采用本机格式或可移植操作系统接口(Portable Operating System Interface,POSIX)委员会定义的可移植格式提供 PATHNAME 变量。这两种方法在实际中各有优缺点。考虑以下情况:您希望操作软件所创建的目录,此目录在 UNIX 和 Linux 系统上位于 /tmp/mywork,而在 Windows 上位于 C:tmpmywork。可以采用多种方法处理问题。清单 3 显示了面向本机格式的方法。
Tags:了解 Boost Filesystem
编辑录入:爽爽 [复制链接] [打 印]- ››了解Windows Mobile文件结构
- ››了解 IBM Smart Business Development and Test o...
- ››了解 Apache Click:使用轻量模型快速编写 Web 应...
- ››了解 IBM Data Studio Version 2 软件打包方式
- ››了解微软Office 2010数字签名的新特性
- ››了解Sybase IQ服务剑桥天文观测台
- ››了解 Eclipse 中的 JFace 数据绑定,第 1 部分: 数...
- ››了解 Eclipse 中的 JFace 数据绑定,第 2 部分: 绑...
- ››了解 Eclipse 中的 JFace 数据绑定,第 3 部分: 使...
- ››了解 Tapestry,第 1 部分:启动 Tapestry 并在 J...
- ››了解 Tapestry,第 2 部分:规划和开发 Tapestry ...
- ››了解Windows 7中第一次提供的系统故障自修复功能
更多精彩
赞助商链接