|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
9 `/ s) `3 T5 k& g9 r7 L) L# F
[mw_shl_code=cpp,true]#include <string>& F) U" H" k5 z' B. t) R4 B6 T
#include <io.h>
4 r% Q! M! A& Z8 r#include <vector>& m% M; N. l! @5 ~9 i
#include <iostream>
0 {6 Q2 [" e; M8 }#include <fstream>
; ? h6 P$ d8 q' v9 o/ Rusing namespace std;
+ M- }+ B5 ^6 g: o- a8 e' J7 b, V5 e( f
* l: `' U; r3 v" G$ G& i
/************************************************************************/
' i+ f W( Y% ]) f& F G" \/* 获取文件夹下所有文件名, j2 F! Z$ D+ p7 _- w4 P
输入:
9 ~" i& P: N; R' r$ e; ?" t: D path : 文件夹路径' \7 J& J: G0 X
exd : 所要获取的文件名后缀,如jpg、png等;如果希望获取所有3 S) \% I9 K; N7 s* x( P3 B
文件名, exd = ".jt"2 A; Z1 r* v* A# H& _) `
输出:9 W4 z1 e* c$ f
files : 获取的文件名列表 含有路径6 O: P" C( p" E% _0 K \
*/4 s ~% t( C! {: o) e9 K. V2 e0 Z
/************************************************************************/
0 a6 p" i# ?; e' R* I. o4 w) A, p+ d: y- k9 y. G% x4 a
void CONFIG_getFiles( string path, string exd, vector<string>& files )6 t6 E3 p9 H l
{ b1 u* @" i; z7 N" L8 W
//文件句柄1 ]3 V9 w/ q, [4 B! D6 w+ j3 a+ n
long hFile = 0;
, `* }% G$ k4 R8 t1 x1 }6 a1 Q //文件信息2 J# A! e" R% D4 ]: F$ h3 _/ U; m
struct _finddata_t fileinfo;
3 g; y' D7 p. Y% s) B string pathName, exdName;
' u. k* ?; c- T0 D
8 V( L7 q a! R" x9 ?8 A* L string p;' f1 c0 [9 Z0 q9 N
if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) != -1)
& W7 |- {7 N m. n" A" d0 h8 w# r {. K. e* i+ i4 _7 m$ z$ s" r- X9 ^
do
0 T4 w3 ^( @& }* T3 s7 W, @& D {: G) s3 E0 w1 c3 N, `8 D* T
//如果是文件夹中仍有文件夹,迭代之
) q! m2 x5 Z# }0 F3 @ //如果不是,加入列表
/ N: d4 _* l/ R) _/ G) V N# z) a // 不推荐使用,硬要使用的话,需要修改else 里面的语句
8 Y9 g9 q P2 z7 X( J5 \ if((fileinfo.attrib & _A_SUBDIR))0 b% @) g( N9 ~$ e9 u$ P% v; b
{) r8 f. T7 J9 N
t3 \6 t! |$ K$ C if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0)
1 ?) C( f) ]& j% ^8 J1 i CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );
0 s, u. Y6 p" b7 i5 w5 k: W3 R# }4 I1 l
}
8 W1 P& C |- ~9 }8 | else 3 J) p* u m/ y
{4 ]' g/ J w+ m5 `& N8 e j
if (strstr(fileinfo.name,exd.c_str()))3 F& O( t' |$ {7 l0 n- _/ ~
{8 P3 M- `: \' z" o7 t: c* q$ I
files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句$ T6 k% y' w4 H8 ?
}
& W. C- f: L7 P% H0 ?! d0 ?
) m4 |3 }8 D1 @, ]' g* H2 B+ b //如果使用1 u( Z3 p* u6 L$ O5 w
// files.push_back(fileinfo.name); // 只要得到文件名字使用该语句
5 ~! P9 ]3 o5 G8 R7 } }
5 W$ M- a7 G; r: I" \6 `: [3 k }while(_findnext(hFile, &fileinfo) == 0);
& {4 O- @; C/ K _findclose(hFile);
. P5 }4 f3 R* V }
- m. z; U7 D/ f. w/ O& u5 U}9 a* c, M( R& Q3 W
[/mw_shl_code]
- s' n5 Y/ z4 }. J7 a7 J3 s |
|