c++对文件进行操作之遍历双层文件结构
2017-10-31 17:56
369 查看
/*本代码实现遍历双层次层次的目录结构*/ #include<stdio.h> #include<iostream> #include<io.h> #include<cstring> using namespace std; const char path[100]="F:/OCR/*"; int main() { struct _finddata_t fileinfo; char rootname[100]; long handle; handle=_findfirst(path,&fileinfo); if(handle==-1) { cout<<"文件路径错误..."<<endl; return 0; } else { do{ if((fileinfo.attrib & _A_SUBDIR) && (strcmp(fileinfo.name,".")!=0) && (strcmp(fileinfo.name,"..")!=0) ) //用来判断一个文件是不是文件夹 { int num=0; long subhandle;//子文件夹的句柄 char subpath[100];//子文件夹的路径 strcpy(subpath,path); subpath[strlen(path)-1]='\0'; //把path中的*去掉 strcat(subpath,fileinfo.name); strcat(subpath,"/*"); //生成新的子路径 struct _finddata_t subinfo;//子文件夹下用来遍历的结构体 subhandle=_findfirst(subpath,&subinfo); if(subhandle==-1) { cout<<"子文件"<<fileinfo.name<<"打开失败"<<endl; }else { do{ num++; cout<<subinfo.name<<endl; }while(_findnext(subhandle,&subinfo)==0); _findclose(subhandle); cout<<"如上所示文件"<<fileinfo.name<<"共有"<<num-2<<"个文件"<<endl<<endl;/*因为我在 遍历子文件夹的时候没有去判断 .和..这两种特殊文件,原谅我有点偷懒了*/ } } else { if(!fileinfo.attrib & _A_SUBDIR) cout<<fileinfo.name<<endl; } }while(_findnext(handle,&fileinfo)==0); _findclose(handle); } return 0; }
相关文章推荐
- C++(不需要MFC库,不需要第三方库)对文件进行操作的几种方法
- C++中对文件进行读写操作
- 递归遍历一个文件夹,对文件进行操作,使用lstat时的悲剧
- C++中对文件进行读写操作
- C++中对文件进行读写操作
- C++中对文件进行读写操作
- paip.c++ qt 目录遍历以及文件操作
- c++的传递的二进制流进行文件上传操作
- C++中读入一个文件夹下多个文件的数据操作(文件夹遍历)
- 批处理文件操作:替换文本文件某系字符写入新文件、遍历目录并进行字符串替换、拷贝文件到新目录、去掉文件扩展名
- C++中对文件进行读写操作
- 利用FILE结构对文件进行操作
- C++对文件进行读写操作
- C++中对文件进行读写操作
- c++对文件进行操作之读取文件夹下面的图片名称
- C++中对文件进行读写操作
- C++中对文件进行读写操作
- 这是一个定时脚本,主要功能是遍历该文件夹下的所有文件并存储到数组,对数据中的文件进行操作,一个一个移动到指定的目录下,并删除原有文件
- C++编程思想3-利用C++进行文件操作封装C函数
- c++对文件进行读写操作