|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
/ | O, L0 l; ^, C) q[mw_shl_code=cpp,true]#include <string>
; W+ M0 K2 l. `& b* G6 {#include <io.h>
% x$ q) c2 O! `#include <vector># P; q% r9 o( o( q( H( M1 H2 R
#include <iostream>
+ o# {, N# O1 {4 o* E$ l/ V- }4 n#include <fstream>
# R2 u! }) z0 V) @; ^" P: Iusing namespace std;
* p* n! C; X& b
! n9 z- P1 J ^7 g g, d E
9 F; v! z: c/ L: G/************************************************************************/
1 k+ L5 W+ |. I+ M0 `/* 获取文件夹下所有文件名. w8 h& O* k# `+ _% t4 K! B
输入:
/ _( p6 U$ f& i2 r4 o: x8 B& b path : 文件夹路径
" s+ Y9 ?+ w" Z* _- B8 c exd : 所要获取的文件名后缀,如jpg、png等;如果希望获取所有+ Y6 p6 w& e5 H0 I# z
文件名, exd = ".jt"/ r8 ?# \2 K% I3 g7 }
输出:/ c n3 \. T& ]) D/ m! L! q
files : 获取的文件名列表 含有路径: _! r- \7 L" t1 m% @. U
*/
' ^/ M0 _( I" z4 U; Y9 w/************************************************************************/ W0 O7 q3 L- q2 O% ?
: k3 X! S5 }/ ?+ y1 W A2 h
void CONFIG_getFiles( string path, string exd, vector<string>& files )
4 I1 v- R" N k) I+ P' G6 U u8 O# ~3 D{
) Z2 e! o, j( C( x2 j' b //文件句柄
; }, d( Y/ T3 M) o; [& z x long hFile = 0;
" Q; l( D' t/ v% [ n //文件信息1 Z# x! ?& ]9 L& L
struct _finddata_t fileinfo;2 W1 F3 _$ v$ v1 S+ B% a. ~! z9 ]
string pathName, exdName;
, f E4 y8 J/ }
+ p6 W2 z$ K! G8 L( v string p;. \9 Y5 P2 G! A R
if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) != -1)8 Z$ Y. k4 t' g3 [ t; s; \2 Q
{
& s: J/ {- f! t9 Y do. C2 w+ ^" O R3 v/ m6 R P
{
0 u! J8 c7 ]8 J; E& R //如果是文件夹中仍有文件夹,迭代之% X, J* E, a+ Z4 K4 }0 _
//如果不是,加入列表4 H1 k, A: p, `7 \! k# U
// 不推荐使用,硬要使用的话,需要修改else 里面的语句4 N- n* @; I s9 `; ~4 v
if((fileinfo.attrib & _A_SUBDIR))4 l9 O+ o7 J1 b' @& @) | P5 P0 G
{
/ H2 ^' X3 C$ i/ a % E8 f# q) y3 D; T& f9 T
if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0)# ~0 O# R6 U- V9 V! F0 _
CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );; E1 z9 D: ~/ H
' e1 C6 o" B! i) E
}% ^0 j1 j: n# I% A/ w* N
else
7 R! F* f) {2 b6 u7 _4 J {! m& ?0 D6 n- w# ?$ I0 a+ `2 L! Z5 E
if (strstr(fileinfo.name,exd.c_str()))9 Y# o+ e- N5 C! h
{
0 u# s$ W( }! Q8 O1 n N. y files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句
8 a* s$ B5 O/ M4 U; R }
2 R v* W% U# X M6 H- S0 s2 G) c3 L% d: O
//如果使用
) q h+ T- g1 r# o5 B2 z% k1 ]' R o // files.push_back(fileinfo.name); // 只要得到文件名字使用该语句* r; ^* [& v+ x; q2 \8 E5 T
}( n/ E0 _1 Q) h# ?# }+ l
}while(_findnext(hFile, &fileinfo) == 0);4 M! E/ G; p5 G' _
_findclose(hFile);4 W. I, G4 N1 I3 x$ s
}
# J0 t* s( X& |+ V# r( H}
( S' u) \# I( |[/mw_shl_code]
5 u; q3 ?$ D( w& B! p0 I5 B( p* Q |
|