linux遍历目录源代码
Posted mthoutai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux遍历目录源代码相关的知识,希望对你有一定的参考价值。
<pre code_snippet_id="1622396" snippet_file_name="blog_20160324_1_744516" name="code" class="cpp">遍历目录获取整个目录的占用空间:
uint64_t dir_space(char *path) { int ret = 0; uint64_t space = 0; char cur_dir[PATH_MAX + 1] = {0}; DIR *dir = NULL; struct dirent *ent = NULL; if (NULL == path) { return 0; } dir = opendir(path); if (NULL == dir) { return 0; } if (NULL == getcwd(cur_dir, PATH_MAX)) { closedir(dir); return 0; } chdir(path); printf("current dir is %s\n", path); ent = readdir(dir); while (NULL != ent) { if (strcmp(ent->d_name, ".") == 0 || strcmp(ent->d_name, "..") == 0) { space += 4096; goto GOON; } if (ent->d_type == DT_DIR) { space += 4096; space += dir_space(ent->d_name); } else { struct stat st; lstat(ent->d_name, &st); space += st.st_size; } GOON: ent = readdir(dir); } chdir(cur_dir); closedir(dir); printf("out of dir %s\n", path); return space; }
以上是关于linux遍历目录源代码的主要内容,如果未能解决你的问题,请参考以下文章
-bash: /usr/bin/ls: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory(代码片段
在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途