非标准的WINDOW API 根据路径遍历文件 c++
2015-07-20 17:30
369 查看
记录一下,,,,今天,也就是2015年7月20号,师傅让写一个遍历文件的控制台程序,,,,于是在网上找啊找,,,终于找到了,,,
#include "stdafx.h" #include <iostream> #include <vector> #include <io.h> using namespace std; //获取该路径下的所有文件 void getFiles(string path,vector<string> &files){ //文件句柄 long hFile=0; //文件信息 struct _finddata_t fileinfo; //临时文件路径 string p; if ((hFile=_findfirst(p.assign(path).append("\\*").c_str(),&fileinfo))!=-1)//获取该路径下的全部文件和文件夹 { do { if ((fileinfo.attrib &_A_SUBDIR))//是一个文件夹 { if (strcmp(fileinfo.name,".")!=0&&strcmp(fileinfo.name,"..")!=0) { getFiles(p.assign(path).append("\\").append(fileinfo.name),files);//进入文件夹读取文件名 } }else{ files.push_back(p.assign(path).append("\\").append(fileinfo.name));//把文件的路径以及名称推入到files里 } } while (_findnext(hFile,&fileinfo)==0); _findclose(hFile); } } int _tmain(int argc, _TCHAR* argv[]) { char * filepath="d:\\QQ"; vector<string> files; getFiles(filepath,files); //char str[30]; int size=files.size(); for (int i=0;i<size;i++) { cout<<files[i].c_str()<<endl; } cout<<"总共:"<<size<<endl; system("pause"); return 0; }这是看别人的,,借鉴一下,,提醒自己,,,,,
相关文章推荐
- C语言中数组使用:杨辉三角。
- 三次样条插值(Cubic Spline Interpolation)及代码实现(C语言)
- C语言小程序(小程序大知识)
- C/C++中extern关键字详解
- 队列的图文解析 和 对应3种语言的实现(C/C++/Java)
- makehuamn中python与C++/c相互调用
- HDU 2050 折线分割平面
- C语言函数调用栈剖析
- C++求解数组中出现超1/4的三个数字。
- LeetCode-Palindrome Linked List-解题报告
- 栈的图文解析 和 对应3种语言的实现(C/C++/Java)
- c语言 宏定义多条语句
- 【C++】C++的输入输出、循环、条件、字符串、数组、类、继承的使用实例
- HDU 1575 Tr A
- GeekBand-极客班-C++算法原理与实践-董飞-课程笔记(一)
- C++简单版BitSet求解大量数据是否存在莫个数
- [Effective C++]定制new和delete
- HDOJ 1000 (C语言第一个程序~镇博之作)
- [Effective C++]让自己习惯C++
- 在C++中使用TinyXML2解析xml