|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
2 W5 Q! I% U% B& {' q# H: w% {
[mw_shl_code=cpp,true]#include <string>
, @! V9 g$ L R' p. y7 z) X0 Q2 Y#include <io.h>
- U) P3 W1 D6 z: G9 _#include <vector>
, g; ^+ x* v8 h' [- Y1 U#include <iostream>7 k3 b b5 n4 f
#include <fstream>
1 y) P! X) N# G* C. ousing namespace std;
/ s5 O5 s6 F/ O8 W e. Q) g/ R0 A' N! Z' }4 B3 U3 i, @
* K1 i6 o$ J2 y" Q' I$ z8 J/************************************************************************/9 q+ h( V, o1 m6 ], D# G; X
/* 获取文件夹下所有文件名
, E3 m8 g/ P6 [: W 输入: * s; s1 r- g. _( u4 }, Z/ t7 d3 y
path : 文件夹路径
. a% ?, Q' S3 q2 V exd : 所要获取的文件名后缀,如jpg、png等;如果希望获取所有
& `: x! }+ n5 p7 `9 x; f" ~ 文件名, exd = ".jt"* O2 {% w- c/ r$ {: \
输出:' l1 L# ~. O w p
files : 获取的文件名列表 含有路径2 h8 g$ ~2 K+ r W) R
*/
! t: c5 x4 [& a$ H. k! Y) Q0 T/************************************************************************/
0 J3 G5 W) w* b8 U
2 @! ]+ q2 y4 ?+ s. \$ d2 Q8 C( Mvoid CONFIG_getFiles( string path, string exd, vector<string>& files )) t! _! V' ~" H9 c2 K2 @5 I8 y
{
& g" m6 @/ ~. o$ ?* D //文件句柄
4 o/ D/ U; t1 ?! Q long hFile = 0;
8 t' E% y; }1 N9 J //文件信息
( k8 `# \9 ~3 V% O, o/ v struct _finddata_t fileinfo;
B' x/ k1 \; E4 x string pathName, exdName;
- }- b9 a7 v7 q$ P" H2 i: B7 q
* z# Y! k- B5 d string p;0 J1 z( i8 R, @
if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) != -1)* D: c; @6 u8 @* x
{4 \% k& D& G& e% n/ ?
do
: w3 l$ e+ N2 X, {& U {5 a, h- y6 ^9 D
//如果是文件夹中仍有文件夹,迭代之
v& ?; U- W6 ^" l3 z0 S% e$ q6 v4 s- [ //如果不是,加入列表
* y1 t/ t' y2 n7 K // 不推荐使用,硬要使用的话,需要修改else 里面的语句" s1 u, p! g, S, t+ e# L
if((fileinfo.attrib & _A_SUBDIR)). ?$ Q# A- B$ k# n7 h" c" L
{
3 S, q$ |8 m6 [8 S, e) ~# ^0 w 4 H! e& s/ D" u; `, v* G
if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0)1 y* e4 u6 Q# Y0 @7 w
CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );: c8 Y, G( b) J2 M' a0 J& [
( [- x; Y1 f$ e! e2 a) {; B }
+ t$ c$ e( j$ H/ K! A" T else - q% q7 n! E3 e* R& ~
{
' U; P0 t+ ^' I: m# ?0 C U if (strstr(fileinfo.name,exd.c_str()))
% h. H2 }# q) g& N6 C {
5 B$ S( B; w5 X1 H, N' G3 X. m files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句6 t: n1 W* h& m, v1 a8 L2 E1 r1 l0 b; v: f
}, {, Q. h7 E5 d2 \# D7 h
# Q0 x: [. J) R5 n9 |! i% b2 q' E
//如果使用
/ Q* n9 |/ y" z3 l! y6 T; i0 a. J# { // files.push_back(fileinfo.name); // 只要得到文件名字使用该语句 t g$ [5 J. x* J; M0 }% D0 Y
}
, l$ a* \$ H- X9 K1 @5 R2 L1 R }while(_findnext(hFile, &fileinfo) == 0);( v B, R, ^/ @2 h- G
_findclose(hFile);
5 n8 Y( Y \0 {/ A6 a2 }1 c4 n: H }* M( @) d( H! P- d; E
}
7 r6 ]3 T" P* _$ V0 V/ |: C' h[/mw_shl_code]
8 w- n1 h6 O; Q5 z2 h8 | |
|