#include <scan_dir.hpp>
|
static unsigned long long | all_size (const char *path, bool recursive=true, int *nfiles=NULL, int *ndirs=NULL) |
|
static unsigned long long | remove_all (const char *path, bool recursive=true, int *nfiles=NULL, int *ndirs=NULL) |
|
static bool | get_cwd (string &out) |
|
◆ scan_dir()
acl::scan_dir::scan_dir |
( |
void |
| ) |
|
◆ ~scan_dir()
virtual acl::scan_dir::~scan_dir |
( |
void |
| ) |
|
|
virtual |
◆ all_size() [1/2]
unsigned long long acl::scan_dir::all_size |
( |
int * |
nfiles = NULL , |
|
|
int * |
ndirs = NULL |
|
) |
| const |
◆ all_size() [2/2]
static unsigned long long acl::scan_dir::all_size |
( |
const char * |
path, |
|
|
bool |
recursive = true , |
|
|
int * |
nfiles = NULL , |
|
|
int * |
ndirs = NULL |
|
) |
| |
|
static |
◆ close()
void acl::scan_dir::close |
( |
void |
| ) |
|
◆ curr_file()
const char* acl::scan_dir::curr_file |
( |
bool |
full = false | ) |
|
获得当前程序扫描过程所扫到的文件名
- 参数
-
- 返回
- {bool} 如果目录未找开或当前扫描的不是文件,则返回 NULL
◆ curr_path()
const char* acl::scan_dir::curr_path |
( |
| ) |
|
获得当前扫描过程所在的目录路径,返回的路径尾部不包含路径分隔符 '/' 或 '\' (win32),如对于路径:/home/zsx/,则会返回 /home/zsx,如果 路径为根路径:/ 则该 '/' 将会保留;在 _WIN32 下,返回类似于 C:\Users\zsx 的路径
- 返回
- {const char*} 当目录打开时该函数返回非空指针,否则返回 NULL
◆ dir_count()
size_t acl::scan_dir::dir_count |
( |
| ) |
const |
返回当前已经扫描的目录的个数
- 返回
- {size_t}
◆ file_count()
size_t acl::scan_dir::file_count |
( |
| ) |
const |
返回当前已经扫描的文件的个数
- 返回
- {size_t}
◆ get_cwd()
static bool acl::scan_dir::get_cwd |
( |
string & |
out | ) |
|
|
static |
获得当前程序运行的路径
- 参数
-
- 返回
- {bool} 是否成功获得当前程序运行路径
◆ get_scan_dir()
◆ next()
const char* acl::scan_dir::next |
( |
bool |
full = false , |
|
|
bool * |
is_file = NULL |
|
) |
| |
扫描下一个目录或文件,当在 open 指定了允许递归扫描项(即 resursive = true),则该函数会递归扫描所打开目录的所有子目录及文件
- 参数
-
full | {bool} 是否需要返回目录或文件的全路径,如果为 true 则返 回全路径,否则只返回文件名或目录名且都不含路径 |
is_file | {bool*} 当返回结果非空时,该地址存储的值表示所扫描到 的是否是文件,如果为 true 则为文件,否则为目录 |
- 返回
- {const char*} 非 NULL 表示所扫描到的目录名或文件名,否则表 示扫描完毕或目录还未打开
◆ next_dir()
const char* acl::scan_dir::next_dir |
( |
bool |
full = false | ) |
|
扫描下一个目录(遇到文件或 "." 或 ".." 会跳过),当在 open 指定允许了 允许递归扫描项(即 recursive = true),则该函数会递归扫描所开目录的所 有子目录
- 参数
-
- 返回
- {const char*} 非 NULL 表示所扫描到的目录名,否则表示扫描完 毕或目录还未打开
◆ next_file()
const char* acl::scan_dir::next_file |
( |
bool |
full = false | ) |
|
扫描下一个文件(遇到目录会自动跳过),当在 open 指定了允许递归扫描选项 (即 recursive = true),则该函数会递归扫描所打开目录的所有子目录
- 参数
-
- 返回
- {const char*} 非 NULL 表示所扫描到的文件名,否则表示扫描完毕 或目录还未打开
◆ open()
bool acl::scan_dir::open |
( |
const char * |
path, |
|
|
bool |
recursive = true , |
|
|
bool |
rmdir_on = false |
|
) |
| |
打开目录
- 参数
-
path | {const char*} 目录路径,非空指针 |
recursive | {bool} 是否允许递归扫描目录 |
rmdir_on | {bool} 当目录为空时,是否需要删除该空目录 |
- 返回
- {bool} 打开目录是否成功
◆ remove_all() [1/2]
unsigned long long acl::scan_dir::remove_all |
( |
int * |
nfiles = NULL , |
|
|
int * |
ndirs = NULL |
|
) |
| const |
◆ remove_all() [2/2]
static unsigned long long acl::scan_dir::remove_all |
( |
const char * |
path, |
|
|
bool |
recursive = true , |
|
|
int * |
nfiles = NULL , |
|
|
int * |
ndirs = NULL |
|
) |
| |
|
static |
◆ rmdir_callback()
virtual bool acl::scan_dir::rmdir_callback |
( |
const char * |
path | ) |
|
|
virtual |
虚方法,当需要删除空目录时,子类可以实现此虚方法来删除传入的目录, 本虚方法内部会自动调用 rmdir 删除空目录
- 参数
-
path | {const char*} 需要被删除的空目录 |
- 返回
- {bool} 删除目录是否成功
◆ scaned_size()
unsigned long long acl::scan_dir::scaned_size |
( |
| ) |
const |
◆ set_rmdir_callback()
void acl::scan_dir::set_rmdir_callback |
( |
int(*)(ACL_SCAN_DIR *, const char *, void *) |
fn, |
|
|
void * |
ctx |
|
) |
| |
设置回调方法,用来删除空目录
- 参数
-
fn | {int (*)(ACL_SCAN_DIR*, const char*, void*)} |
ctx | {void*} |
该类的文档由以下文件生成: