lilnux C++遍历目录
来源:互联网 发布:vasp linux 编辑:程序博客网 时间:2024/05/17 01:43
#include<unistd.h> #include<stdio.h> #include<string.h>#include<sys/stat.h>#include<dirent.h>//获得目录的函数,第一个参数是根目录 ,第二个参数是挖掘深度void printdir(char*dir,int mark){ DIR *dp=NULL; struct dirent *entry=NULL; struct stat statbuf={0}; if((dp=opendir(dir))==NULL) { printf("i am sorry can not open the dir%s",dir); return; } chdir(dir);//chdir函数是做什么的?,改变当前目录成为指定目录 while((entry=readdir(dp))!=NULL) { lstat(entry->d_name,&statbuf); if(S_ISDIR(statbuf.st_mode)) { //如果是目录文件的话i,看看是不是自己或者父目录 if(strcmp(".",entry->d_name)==0) { continue; } if(strcmp("..",entry->d_name)==0) { continue; } //如果不是打印出当前文件名称 printf("文件夹:%s\n",entry->d_name); if(mark==1) printdir(entry->d_name,3); } else { printf("文件名称:%s\n",entry->d_name); } } chdir(".."); closedir(dp);}int main(int argc,char* argv[]){ char* topdir,pwd[2]="."; if(argc!=3) { printf("Invalid Arguments\n"); return; } else topdir=argv[1]; if(strcmp(argv[2],"s")==0) printdir(topdir,1); else printdir(topdir,0);}
本来是想printdir的第二个参数是bool类型的,可是gcc编译器没有定义,也就只能退而求其次,使用int类型的了,如果有参数s则遍历时使用递归遍历
0 0
- lilnux C++遍历目录
- C/C++:遍历目录
- C语言遍历目录
- C语言遍历目录
- C语言遍历目录
- Object-C,遍历目录
- C语言 遍历磁盘目录
- linux遍历目录C语言
- 纯C开发:目录创建,目录删除,目录遍历操作
- linux用c语言来遍历目录
- linux C 遍历目录及其子目录
- Linux下C遍历单个目录
- linux C 遍历目录及其子目录
- linux C 遍历目录及其子目录
- C语言二叉树 遍历目录树
- linux C 遍历目录及其子目录
- [Linux]C语言遍历文件和目录
- 采用标准c进行目录文件遍历
- TestNG入门
- SQL语句大全
- 关于输入输出函数的几点说明
- Mysql 存储引擎中InnoDB与Myisam的主要区别
- DSP/BIOS使用之初窥门径——滴答时钟及烧写Flash
- lilnux C++遍历目录
- Java 异常类层次结构及怎样设计一个高效合理的异常处理框架
- PCB设计资料:看到最后才知道是福利
- hdu 5033 Building 几何+单调栈
- LabVIEW上位机与串口通信
- 用VMware 8安装Ubuntu 12.04详细过程(图解)
- 用easybcd在win7安装ubuntu 14.04双系统
- OPENGL_三角形带GL_TRIANGLE_STRIP详解
- 与Hadoop的第一次接触