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

了解 Boost Filesystem Library

 2008-11-13 08:29:37 来源:WEB开发网   
核心提示: 实用工具Boost Filesystem Library 包含以下实用工具:bool exists(const path&):此函数检查文件的扩展名,文件可以为任何类型:常规文件、目录、符号链接等等,了解 Boost Filesystem Library(8), bool is_direc

实用工具

Boost Filesystem Library 包含以下实用工具:

bool exists(const path&):此函数检查文件的扩展名。文件可以为任何类型:常规文件、目录、符号链接等等。

bool is_directory(const path&):此函数检查路径是否与目录对应。

bool is_regular(const path&):此函数检查普通文件(即此文件不是目录、符号链接、套接字或设备文件)。

bool is_other(const path&):通常,此函数检查设备文件(如 /dev/tty0)或套接字文件。

bool is_empty(const path&):如果路径与文件夹对应,此函数将检查文件夹是否为空,并据此返回“True”或“False”。如果路径与文件对应,此函数将检查文件的大小是否等于 0。对于文件的硬链接或符号链接的情况,此 API 将检查原始文件是否为空。

bool equivalent(const path1& p1, const path2& p2):此 API 非常实用,可用于比较相对路径和绝对路径名。请看清单 9:

清单 9. 测试两个路径是否等效

#include <stdio.h>
#include “boost/filesystem.hpp”
int main()
 {
 boost::filesystem::path path1("/usr/local/include"); // random pathname
 boost::filesystem::path path2("/tmp/../usr/local/include");
 bool result = boost::filesystem::is_equivalent(path1, path2); 
 printf(“Paths are equivalent : %dn”, result);
 return 0;
 }
// result: 1

path system_complete(const path&):此函数是与 bool equivalent(const path1& p1, const path2& p2) 同一系列的另一个 API。在给定当前工作目录中任意文件路径的情况下,此 API 将返回该文件的绝对路径。例如,如果用户位于目录 /home/user1 并查询文件 ../user2/file2,此函数将返回 /home/user2/file2,即文件 file2 的完整路径名。

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

Tags:了解 Boost Filesystem

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