|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
' }" M6 r+ i m: N. U; H7 O+ |[mw_shl_code=cpp,true]#include <string>4 H c4 J1 ?' Y- G3 c3 x+ G- `* i
#include <io.h>
! ?+ M; n U1 W; N#include <vector>( G$ N8 \. W+ c3 G% K
#include <iostream>
m1 _: T! ^; U9 u" X) s- U! n#include <fstream>3 l6 n6 s& d+ A
using namespace std;7 F0 g" Q M# I9 C* A% f
/ ~* B! @8 m( ~4 z9 v* D o4 B0 z4 A! b5 z
/************************************************************************/" b! O& t/ ?9 ^% Z7 ]2 r
/* 获取文件夹下所有文件名
8 `% Y& A; J7 ]" h6 Y9 a 输入:
7 _6 ^. G& Y3 e1 N6 i path : 文件夹路径1 Y9 ^- A9 I4 |, Y0 a' q1 y
exd : 所要获取的文件名后缀,如jpg、png等;如果希望获取所有9 P' i: G5 C: v/ f. X( i" o. a8 P
文件名, exd = ".jt"8 M7 m4 V- g0 F6 Q6 M j/ l
输出:
' P: h* a, B4 y3 { files : 获取的文件名列表 含有路径
$ m7 _) ? a; B1 ~) ]*/
' |0 T. O8 x5 c6 h) l/************************************************************************/9 F6 ]7 W' {" k: Z4 i
' M8 U$ g4 ]! T- k. W3 |void CONFIG_getFiles( string path, string exd, vector<string>& files )
; F9 }( o# {' _9 a9 ?7 t{, c* h- r, a2 b* G8 x7 V
//文件句柄
4 }. V( J- Z9 c long hFile = 0;0 @1 A! f0 ?: }$ O$ n4 R
//文件信息5 [0 Z: l; L! D- H# C8 d# o2 T' x1 _
struct _finddata_t fileinfo;
/ B& U; V" B) z( ~' ^4 z% [ string pathName, exdName;
1 _, S# w6 G8 ?6 d
$ o; M+ y6 r: O2 e3 ? c string p;& H3 M2 \, b: p7 C! \0 q) U
if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) != -1)
( x: |$ M, }6 u7 \- X$ \* e {$ ?6 |" R' q6 o4 o% D
do
) v9 \ D4 c8 d8 U1 x( C {
- X7 s( c' u$ T- G$ j+ v //如果是文件夹中仍有文件夹,迭代之
7 S* K3 @, N0 z. C, g7 s" D //如果不是,加入列表2 M( C! }, P" h8 Q3 B( M+ a5 V% S7 j
// 不推荐使用,硬要使用的话,需要修改else 里面的语句
5 M' ` k0 [6 U ~* G if((fileinfo.attrib & _A_SUBDIR))
# t% K0 F, L( Q* n( J ^ {
- i8 ]5 d5 F A
9 W. M! K/ Y2 [% F if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0)8 \0 J1 j' c2 {' b. y; ?8 J2 W3 ~9 E
CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );7 G* T: w7 B( w6 |. T$ t! |3 e
: W4 G1 V8 \$ u6 f9 S }, l7 P5 R5 K6 o4 D
else
6 C* \- G9 h# p A8 z {: p* p9 q. ?2 g4 P; a" T8 j
if (strstr(fileinfo.name,exd.c_str()))
' }3 Y* Q/ E/ M {3 a g! P/ i0 P0 p: r9 u4 b. ^
files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句 M. ?! M- y2 [; O" c% ~2 Y
}
1 l6 i) J1 i& i$ Y5 a
- z8 d% [+ d* f' h6 T& a+ w //如果使用2 i k" j% \3 x
// files.push_back(fileinfo.name); // 只要得到文件名字使用该语句
: X! i. K" }) c' D' r0 T# v6 { }
2 P( M5 k$ \$ S( M+ Z }while(_findnext(hFile, &fileinfo) == 0);
9 M/ f0 D8 f" |1 l. `& A _findclose(hFile);& S+ O& q( l1 ~- \; g! I: x
}6 l4 R/ l0 \% C. z2 g& O( h
}
+ T% w3 e3 Q5 F$ P' H. |3 g8 P[/mw_shl_code]
/ R" M$ D* Q& j6 l/ A% }) k* A |
|