|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
* F9 {; J$ v" d
[mw_shl_code=cpp,true]#include <string>6 b3 Q3 w. d$ q5 q* s. A+ G- R8 \+ T+ Y
#include <io.h>9 ^% E! b& { X- b' B! U
#include <vector>
% G" p# C. B) b1 v#include <iostream>
( D& [* G% P. Q#include <fstream>
4 ^3 {: U* `. N% J# c9 G# Q9 W6 Musing namespace std;
0 ]8 g8 X& \6 o6 T% G7 u# m; S9 A$ C/ s) C0 ]
7 X+ q t" h4 K! s. b$ s! Z
/************************************************************************/
7 A8 N# u( p" `/ Z. K) w2 v4 L/* 获取文件夹下所有文件名
_8 M" `; }5 I, y1 j; V: B" ] 输入:
5 A3 J7 G3 d9 z path : 文件夹路径
0 c$ n, }" W; m( w exd : 所要获取的文件名后缀,如jpg、png等;如果希望获取所有
' m1 H- v* K. s3 M% N% @% d 文件名, exd = ".jt"0 f" Y+ r" l/ T! r; i5 y" R- v
输出:
m* D5 {/ @/ Y1 c& l5 B files : 获取的文件名列表 含有路径
5 J5 J2 w; T. @4 ]" v) N*/5 _& o7 I+ c- |9 f$ K0 m$ f- b
/************************************************************************/
$ w3 E, W# O8 M- e+ _& C4 `& P2 g( k' T' v9 o
void CONFIG_getFiles( string path, string exd, vector<string>& files )
; _, H+ `+ B+ d' O' ~5 @$ Y1 `{6 d4 q X8 e7 M( _, ^- U
//文件句柄9 ?8 R% \" b# ~( n* K+ N5 ~
long hFile = 0;; C& j+ t. M6 {
//文件信息, @& G$ S8 }: o$ I2 @4 ]
struct _finddata_t fileinfo;7 p7 {$ i, J. N
string pathName, exdName;* m" S; [5 b& h k- Z
: E3 u; n# l3 B
string p;
) g+ ?( H3 @2 ]. L6 ]! d if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) != -1)) I$ t5 x$ a8 I6 Q' ~5 ?/ ~
{, j3 D) Q( l! l/ g
do2 L$ H6 N; v7 D* J4 `' E( ^
{
$ c9 E; C" C: t2 z1 Z //如果是文件夹中仍有文件夹,迭代之
" h5 b$ D# L9 w; `" k! \1 o: }' c0 b //如果不是,加入列表
1 j, M S C. p' j* U, @8 } // 不推荐使用,硬要使用的话,需要修改else 里面的语句) ?7 f" }( ^. K9 G: `, {! ^
if((fileinfo.attrib & _A_SUBDIR))
4 \! {4 i- i C; Z( f {
" D( V. {* i& y2 t3 c* H: N
0 r4 g3 g8 o6 t) d2 O if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0)8 y( u3 ^9 f( R7 y
CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );4 s# J! O& l9 @$ P* ^& J
' X* ?5 I$ Q$ h) y, F6 u }
. K$ N* Q: n9 n% N& c/ Q+ c' _7 m4 i else 2 H# @& {' r7 D: K) n3 g8 O- _8 F
{. I& R8 }) |9 X
if (strstr(fileinfo.name,exd.c_str()))1 z% H8 t: ^4 \. y8 _" S
{
4 T/ p% @" w& R9 V0 i B files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句
' F/ Q" R/ y; ~& R. S9 a }
5 x, t, l+ `5 r; m5 R9 u; r! e( m: y& h; ^2 U6 i& _6 @
//如果使用, ?/ c; w K, X3 E; w8 W5 D9 o4 D& [5 c
// files.push_back(fileinfo.name); // 只要得到文件名字使用该语句
+ {4 r* M; s d/ y4 O }/ [7 E" q" e( c# f0 z$ I+ C0 K
}while(_findnext(hFile, &fileinfo) == 0);( s* L* R6 h" H; C* W/ t9 l
_findclose(hFile);
& |; x! Z- d0 @: O9 `' k4 m1 M }
1 O9 v) U9 R2 _, j( ` w}
& b( A0 n7 W' z" L" d[/mw_shl_code]$ v) T0 t7 I" Y, n( s' J- r0 m
|
|