|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
# ~; O" _5 x3 R c# z' O
[mw_shl_code=cpp,true]#include <string>5 ?4 T- G) G; x0 j9 |, G
#include <io.h>- w7 O3 ~% O# s6 F" U
#include <vector>
/ w; k& Z4 l) i) M7 x! ~#include <iostream>
& F6 A7 A* B0 O. h" P' r#include <fstream>
/ a* @6 A* `! e. P5 musing namespace std;
0 e) A$ ^1 F; y% U$ @
( d. h0 M$ L Q 6 e# N: M) J% O' o( t/ |# n% |8 F
/************************************************************************/) R! _8 K& @# H% ]: [( C& y
/* 获取文件夹下所有文件名
* w& A) h5 q* z0 }# Y 输入:
& ~2 M- h. ]) ~2 ]0 N7 w! W, | path : 文件夹路径
, f; J, i; S4 V& r9 p' `; p exd : 所要获取的文件名后缀,如jpg、png等;如果希望获取所有
+ h- U. i& Z6 R3 Q8 Z 文件名, exd = ".jt"/ _; P6 j) T: \# s+ Q
输出:
. d: F& N( h" ]' I" [. x, } files : 获取的文件名列表 含有路径1 L. X3 g+ N' q/ ^# h3 Q
*/1 O" | M" u8 M8 i3 p8 l
/************************************************************************/
' m$ m* j7 X8 h5 M! s9 v( u8 ]5 s
void CONFIG_getFiles( string path, string exd, vector<string>& files )
( o$ g8 d7 j' g+ Q9 _3 Z2 r{
) u% V: C. a8 O% E3 _7 P: _; U7 v% ^ //文件句柄
! L3 L. L+ y. h" C9 O5 m3 v+ l long hFile = 0;' |8 G% m. B, {9 s7 p- n2 X
//文件信息
8 j; t6 U. a( ~# q e- ? struct _finddata_t fileinfo;
2 d! r6 v; \0 A, ~: Z! |: h string pathName, exdName;% f9 [2 I4 m+ ]8 A% ?) A
$ P- U; [. }! q+ P4 f3 ?- q
string p;
: U, h8 w1 {' h if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) != -1)" w1 H8 L& A& `9 Q
{2 ?4 f0 B- ~- {6 F, r3 I- M/ B
do
8 A. b7 d" E1 a# i% _0 E {
2 S6 e$ U0 Z: @5 e6 ^ //如果是文件夹中仍有文件夹,迭代之
( G$ t% c+ b/ } //如果不是,加入列表
+ [8 _) s1 f! o3 c2 d, R$ B- |1 J // 不推荐使用,硬要使用的话,需要修改else 里面的语句0 ]- k2 t) g& z: |) A( V* e$ ~
if((fileinfo.attrib & _A_SUBDIR))* p: N% f$ f: A% n1 @2 m B) Z! f
{4 N' k7 V3 ~. `" V) n
; U0 u1 F' s6 ` if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0)
7 @# U% z" n. H, G7 ~9 u CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );2 R& i, r; R) t
+ k9 P8 p1 p# ` f }
' _7 l9 H! b5 z6 L else ; W3 G: r( d J
{! `1 d/ A. T9 b
if (strstr(fileinfo.name,exd.c_str()))
- ~. W' @3 y; F! J9 c {0 `! T& I6 |: z+ D( m; L
files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句# ~2 A- ]! e3 K" _: `) t# |( E
}( T5 ^- A7 q% t8 w9 J' G) E
/ B9 z- t% }/ e# M! I. A @
//如果使用
& S) @# L- T$ d1 X3 L( i // files.push_back(fileinfo.name); // 只要得到文件名字使用该语句
! P2 e' Z3 O% @6 _& V; w } M5 ?# ^/ S# k; h
}while(_findnext(hFile, &fileinfo) == 0);. n$ U' {: M( T: O4 x4 p) Z
_findclose(hFile);
# n: H3 R' i' l* A* |8 b9 k }
. [, @9 c5 ?. T% @) K}
. E; x5 p. s' M8 U[/mw_shl_code]1 C/ ]% F. m X+ r" e8 C
|
|