|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
! Y2 t# E$ [* g4 O) f7 w
[mw_shl_code=cpp,true]#include <string>
. s4 M, h( K# z7 }#include <io.h>, O7 x3 E4 L% G8 |) X
#include <vector>( j2 d/ `2 d6 K6 W, H
#include <iostream>) J$ B3 S8 l/ s( i# [3 o+ k2 a
#include <fstream>
" g; J! b6 W) W; t! vusing namespace std;' @ Z# m E7 R% C% ]
. _2 o" g1 D/ j
$ f, U1 E5 g/ ~/************************************************************************/& W" s9 R/ H3 ]7 ?9 D$ K
/* 获取文件夹下所有文件名4 y+ P, |- X3 K
输入:
! c. r( m. U/ Z! _* A* C path : 文件夹路径
* H% K+ N6 T3 C- ?" V/ L$ i exd : 所要获取的文件名后缀,如jpg、png等;如果希望获取所有
) O( ^ |) m& [6 D5 ^9 {5 | 文件名, exd = ".jt"" a% K& E; y5 g
输出:
$ u) B& e; v' k1 r files : 获取的文件名列表 含有路径: N1 M: H2 a- Q. d
*/5 l) ^3 R8 M+ J( q5 D- R" T% `
/************************************************************************/
" O+ |5 K( A% Q) d8 L2 {# J) ]: ^' w9 m7 p
void CONFIG_getFiles( string path, string exd, vector<string>& files )3 h) p7 e, S2 c( v
{: P0 A; m, ], f( E7 r' ^* e; H
//文件句柄3 s* `6 T( S9 f/ K
long hFile = 0;( g% ?7 k4 V E1 |+ P& B
//文件信息
, `( L( E0 |5 ?+ C struct _finddata_t fileinfo;
2 l4 m u; c" z) Q3 Z+ ? string pathName, exdName;: ]8 e* e+ O" ? P" q. V6 G7 D( ]
& y0 A# K; [+ A
string p;
, ?2 d ^& g/ ~- K2 p; | if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) != -1)
+ K8 j: p3 V k% t0 \8 K {4 ]7 g3 k4 L6 K; G1 h, b
do
- p& x2 A* t: d. Z5 _8 s5 } {! ~8 d+ \9 @! {- \$ n2 M+ ]% l9 s: b* @
//如果是文件夹中仍有文件夹,迭代之
2 w6 X' B* M4 k" P3 g //如果不是,加入列表
$ k# n9 g# ?% h# S* q( `0 K // 不推荐使用,硬要使用的话,需要修改else 里面的语句! G3 i6 C; j9 V q! i& y5 q/ B, `# B
if((fileinfo.attrib & _A_SUBDIR))) i% R+ U7 J' E( X z7 p( u
{% l* A @0 e& F: g$ n+ V
9 J a' w H0 l if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0)
! L; F# \2 A6 G. O3 } CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );
: V7 {: j8 m4 [% Z: g: J @- [2 e* K5 n1 H. k
}+ q, y C. P7 E
else 2 b1 ^9 z3 G6 a3 ^7 D( Z
{
/ Q K( x( j3 H if (strstr(fileinfo.name,exd.c_str()))
# S% A7 }. J' {! k5 [. z {! C& {0 `, c) W4 Y( [) [
files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句# B: l1 M2 w. v; I8 y3 d7 s
}
$ c8 M2 Y2 ]7 } M! b/ s7 ~+ s4 l8 {* {9 @1 z2 N% m5 i
//如果使用& v, ?- g1 T' u: G( X9 [, e
// files.push_back(fileinfo.name); // 只要得到文件名字使用该语句
( r- T; \0 m6 R2 q }
# o& S$ j; n2 R7 ^ }while(_findnext(hFile, &fileinfo) == 0);
& w0 B) A5 f2 x) ^ _findclose(hFile);
& m M: g0 i8 |( ~ }
" z- Z1 r& n m: M% Z G}/ M8 f$ V' p+ {7 y$ Q! o
[/mw_shl_code]: f1 x, t/ f" y2 `0 O7 T- u% [4 J
|
|