C++获取一个目录下的所有文件
来源:互联网 发布:上古卷轴5诺德捏脸数据 编辑:程序博客网 时间:2024/05/18 00:01
转自:http://www.yuloo.com/news/1007/448756.html
#include<iostream> #include<io.h> using namespace std; void main() { _finddata_t file; long lf; if((lf = _findfirst("C:\\WINDOWS\\*.*", &file))==-1l)//_findfirst返回的是long型; long __cdecl _findfirst(const char *, struct _finddata_t *) cout<<"文件没有找到!\n"; else { cout<<"\n文件列表:\n"; while( _findnext( lf, &file ) == 0 )//int __cdecl _findnext(long, struct _finddata_t *);
//如果找到下个文件的名字成功的话就返回0,否则返回-1 { cout<<file.name; if(file.attrib == _A_NORMAL)cout<<" 普通文件 "; else if(file.attrib == _A_RDONLY)cout<<" 只读文件 "; else if(file.attrib == _A_HIDDEN )cout<<" 隐藏文件 "; else if(file.attrib == _A_SYSTEM )cout<<" 系统文件 "; else if(file.attrib == _A_SUBDIR)cout<<" 子目录 "; else cout<<" 存档文件 "; cout<<endl; } } _findclose(lf); }
转自:http://blog.sina.com.cn/s/blog_686d0fb001012uuc.html
//之前看过一篇有关文件属性及目录列表的操作。假如我们要对某一目录下的所有文件进行操作,那么不得不遇到遍历文件的问题。//下面给出遍历D盘下的所有文件的程序,同时输出了每个文件的属性。遍历其他文件则类似。 //源程序清单:#include<iostream>#include<string.h>#include<io.h>FILE *fp;using namespace std;void traval(char name[]);//遍历一个目录//int i=0;void main(){ if((fp=fopen("data.txt","w"))==NULL) { cout<<"打开写文件失败!\n"; return; } char name[250]="D:\\*.*"; traval(name); fclose(fp);}void traval(char name[])//遍历一个目录{ char name1[250]; //cout<<name; //fprintf(fp,"%s ****%d",name,++i); _finddata_t file; long lf; if((lf=_findfirst(name,&file))==-1l) { cout<<"该目录不存在!\n"; fprintf(fp,"该目录不存在!\n"); } else { while(_findnext(lf,&file)==0) { if(file.name[2]==0) continue; cout<<file.name<<"\t"; fprintf(fp,"%s\t",file.name); if(file.attrib==0) { cout<<"正常 "; fprintf(fp,"正常 "); } if((file.attrib%2)==1) { cout<<"只读 "; fprintf(fp,"只读 "); } if((file.attrib==2)||(file.attrib==3)||(file.attrib==6)||(file.attrib==7)|| (file.attrib==18)||(file.attrib==19)||(file.attrib==22)||(file.attrib==23)|| (file.attrib==34)||(file.attrib==35)||(file.attrib==38)||(file.attrib==39)|| (file.attrib==50)||(file.attrib==51)||(file.attrib==54)||(file.attrib==55)) { fprintf(fp,"%s\t",file.name); cout<<"隐藏 "; fprintf(fp,"隐藏 "); } if((file.attrib==4)||(file.attrib==5)||(file.attrib==6)||(file.attrib==7)|| (file.attrib==20)||(file.attrib==21)||(file.attrib==22)||(file.attrib==23)|| (file.attrib==36)||(file.attrib==37)||(file.attrib==38)||(file.attrib==39)|| (file.attrib==52)||(file.attrib==53)||(file.attrib==54)||(file.attrib==55)) { cout<<"系统 "; fprintf(fp,"系统 "); } if((file.attrib>=32&&file.attrib<=55)) { cout<<"存档 "; fprintf(fp,"存档 "); } if((file.attrib>=16&&file.attrib<=23)||(file.attrib>=48&&file.attrib<=55)) { cout<<"文件夹 "; cout<<endl; fprintf(fp,"文件夹\n"); strcpy(name1,name); name[strlen(name)-3]='\0';//最后三个字符去掉 name=strcat(name,file.name);// name=strcat(name,"\\*.*"); cout<<endl<<name<<endl; //fprintf(fp,"\n%s\n",name1); traval(name); strcpy(name,name1); } else { cout<<endl; fprintf(fp,"\n"); } } } _findclose(lf);}
0 0
- windows c获取一个目录下的所有文件
- 获取一个目录下的所有文件
- C++获取一个目录下的所有文件
- C++获取一个目录下的所有文件
- C++获取一个目录下的所有文件
- java 递归获取一个目录下的所有文件路径
- C++:获取指定目录下的所有文件
- 通过递归获取一个文件目录下的所有文件和目录
- 获取当前目录下的所有文件
- 获取指定目录下的所有文件
- linux 获取目录下的所有文件
- Java获取目录下的所有文件
- 递归获取目录下的所有文件
- php获取目录下的所有文件
- 获取某个目录下所有的文件
- 获取目录下所有的文件
- 【C#】获取文件、目录下所有文件、子目录文件
- 查找一个目录下的所有文件
- Flex与servlet数据交互3(xml解析)
- // 插入排序 源码
- leetcode-237-Delete Node in a Linked List
- ie7 slideup,mouseleave...的bug的解决
- cocos2d-x游戏实例(5)-A星算法(1)
- C++获取一个目录下的所有文件
- 背景音乐
- cocos2d-x游戏实例(6)-A星算法(2)
- hdoj 1269 迷宫城堡 【有向图SCC 入门题目】
- KVC 与 KVO 理解
- cocos2d-x游戏实例(7)-A星算法(3)
- hdu 5050
- static关键词
- cocos2d-x游戏实例(8)-A星算法(4)