|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
$ I% @. v/ M7 ?" ^2 ~
[mw_shl_code=cpp,true]#include <string>
8 ^0 C: |, A* v& w#include <io.h>
8 y) F a# I# c1 T#include <vector># S8 c" X i; A/ k! Z
#include <iostream>( l) ]& A( ?7 L( }# W* c
#include <fstream>
/ d1 h' f4 A6 q$ o5 p( ousing namespace std;
9 T( \6 r' o3 i8 P ?9 y: A% R/ _- _# v% i. S
" j0 y, E$ y- F/************************************************************************/
7 U/ R( Z" u9 K% J2 K% n- ?/* 获取文件夹下所有文件名
$ Y$ N2 D5 {" M6 E- {7 ?0 q' x 输入:
/ R1 ?& W! z; M, f/ a6 G path : 文件夹路径
. {( V& E7 k9 K4 i* f' _: A/ | exd : 所要获取的文件名后缀,如jpg、png等;如果希望获取所有
( l3 t" h" A7 i6 t, }8 W/ w) H+ R 文件名, exd = ".jt"$ A- z2 O8 O; ]; R
输出:! ]6 ]+ \$ K4 z9 X1 A8 d
files : 获取的文件名列表 含有路径/ r4 p/ F( z, L: s" U c
*/
+ r0 k4 u) O- @9 a% i: Z: g% u4 U/************************************************************************/" m( y5 D5 m* |
' T' {4 h1 s& P
void CONFIG_getFiles( string path, string exd, vector<string>& files )
/ N S' N- y) L# @& Z9 d! i{
7 [9 x, L6 V% `4 q //文件句柄( D- ]$ t; h6 Y' R
long hFile = 0;
6 T# f7 p5 e5 s: D' P //文件信息
3 _5 k. }& P) z& K" u/ B0 U, u struct _finddata_t fileinfo;
' L% A" Y- _% X4 N& k string pathName, exdName;
( X( ~0 W6 N% [- e# s4 n* [# o- `: ?& P5 I
string p;
M/ h6 L2 l- B8 w$ B if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) != -1)
" R/ m1 o; g! b& Q9 |% Z7 l5 d& N {
4 |. K+ @0 y1 e* u* m do
* D8 l4 J8 Z0 x {
+ d; z0 t. B/ i //如果是文件夹中仍有文件夹,迭代之* N, h- T7 k! T) A
//如果不是,加入列表) L F! P! E4 F
// 不推荐使用,硬要使用的话,需要修改else 里面的语句
8 p. v1 F2 n9 _ if((fileinfo.attrib & _A_SUBDIR))
6 e# r: X9 i j: X {- f0 W' A4 @ I! u% l3 r
& S5 h7 G; L1 |) l- I: ^
if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0)9 t! V: f! N: B3 R3 E$ [
CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );3 o1 T v) K0 C+ \% K# m
/ i3 g" V/ p* c- b5 r: v
}% q, ^/ s V- e- f- s3 ` S
else 7 G; p5 q8 T. n5 n7 t! q* w
{* ^9 X$ F8 @( Z) c
if (strstr(fileinfo.name,exd.c_str()))
/ w$ t8 w3 R1 ?+ g; a. M0 Y( N6 E {/ O* Y; ? o) c4 u
files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句, x1 _% `1 n/ q: A6 J
}
+ Q2 j6 f# i0 T& |, d- x# N! w% k
//如果使用: l5 X; \* W0 g, ]; ?6 L _5 D2 X/ H
// files.push_back(fileinfo.name); // 只要得到文件名字使用该语句3 _# o. }0 Z' R: q8 O
}1 b7 q; y- S U( T. k2 C/ Y
}while(_findnext(hFile, &fileinfo) == 0);. c4 P6 A6 F- x* Z$ b* c
_findclose(hFile);2 Q) C* n! D% [/ [% Q, m
}' _1 d# }: V' `; V0 U3 J: U' ~
}
8 l5 Z) T! X% W5 _$ P6 f[/mw_shl_code]" v) G' T+ x. @/ Y p7 l
|
|