|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
3 w* G, I! ]0 k( E0 t+ e
[mw_shl_code=cpp,true]#include <string>
1 \, J* t- m0 O: f' B#include <io.h>! S. {) g5 W. R, T
#include <vector>/ G7 I: ~) D4 S- F! O2 G, G
#include <iostream>& e9 \0 X* R' R, R6 C
#include <fstream># U% t; [% h2 n0 j5 D/ y9 i
using namespace std;. F3 e8 ]6 \7 Y4 A: @
% N3 c9 A& M: G& P; R4 J! ]: q 6 A, B$ S9 `7 K- i8 q3 ^+ j& x
/************************************************************************/
+ z- ?! P& [. m/* 获取文件夹下所有文件名" ~& f6 b$ J6 _6 {6 e4 X
输入:
" n* c* k: B2 Z7 z8 O0 }4 O/ { path : 文件夹路径" L* q7 E9 g! B+ ?( t3 A" L% E6 z
exd : 所要获取的文件名后缀,如jpg、png等;如果希望获取所有0 P# P5 H1 v j( D x2 G
文件名, exd = ".jt"% a9 v. T& e% P3 q1 U: i# h3 v" V
输出:
( q; j* H0 D) t& p4 V! j$ B files : 获取的文件名列表 含有路径2 \9 Q/ q5 N) }% g( a
*/. { j& W, M6 n& }& o) o
/************************************************************************/2 ~" E3 y& z; Q' H# o- x* R$ _
+ z. L( ?3 Q# E* u" E( u, mvoid CONFIG_getFiles( string path, string exd, vector<string>& files )8 w! l" @2 C" p1 j
{
0 q4 W4 y! G$ n6 i" f; |$ o" q //文件句柄
( y# ~: d( h: C5 }) D long hFile = 0;
3 @( q; p! e* i+ _ //文件信息
) a1 w3 H) z, }" H5 Z struct _finddata_t fileinfo;* q0 H U/ l4 V
string pathName, exdName;
! d |7 e1 c5 l# ]" x$ e0 ?4 r
* U* h6 T0 \3 W# n/ m: B4 W string p;
$ s- p8 u9 m! j( u: l0 J7 x M9 }/ c if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) != -1)
. U. v) V% _" f {$ ]) M, z. O# l' m b( q
do6 x0 R# t8 G) X0 C9 o7 M$ _) H' G
{: K0 x% W1 x) D8 g# s
//如果是文件夹中仍有文件夹,迭代之3 f, n3 }5 M, \) s2 N: x
//如果不是,加入列表3 T& u) p5 j3 a
// 不推荐使用,硬要使用的话,需要修改else 里面的语句
j6 `5 c* b4 c; h. ?* }0 A0 m2 \ if((fileinfo.attrib & _A_SUBDIR))
; R7 V% @' i- J: ~# q {1 J4 z9 X0 ^( d9 E# D% v4 f
' S4 B6 W9 A9 Y+ N2 O! D M
if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0)8 c9 V" N* j" X3 X9 ^
CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );
# Y2 N/ s+ W# Q1 G) c6 I. @9 ~7 \$ ^& u1 X7 \4 D" U
}) _) D; i+ B4 d; L6 h' S
else
d% g- g0 C" J, b# h( ]# }6 L {
~- ?- c1 W( L0 m if (strstr(fileinfo.name,exd.c_str()))
* W! f1 o" m: i8 j {
/ b M1 |! k" j) S files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句$ O* v5 |' L( H( [ s/ R
}
/ p' }2 t, B- |4 d v# c
5 V, }( K/ {: e; \' S& \ [6 I2 [ //如果使用
2 z- A: w, h& ?$ [# S$ a& r: v // files.push_back(fileinfo.name); // 只要得到文件名字使用该语句
! Y- k" x6 M. @- Z }) R7 ~: L/ J. J3 ~9 J1 z: C
}while(_findnext(hFile, &fileinfo) == 0);( Z% K# y* R* b2 k
_findclose(hFile);0 y: g# X+ B9 k+ x! R/ R8 c+ ~+ J5 Q
}
" P" o7 a+ e; b}4 Q4 x8 K5 H4 ~$ S; n
[/mw_shl_code]1 S% w/ t* J$ b4 t7 N! A
|
|