|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
M( f7 m6 s! ~2 `8 r N4 j8 f3 Q[mw_shl_code=cpp,true]#include <string>
' f8 F& w3 {1 w#include <io.h>
! Y |. `' ]; f3 U k7 n* p+ N#include <vector>* s* h) t6 n! f) t0 h
#include <iostream>
6 F- N! h; X" B2 r$ |#include <fstream>
' \( C# F; N8 G/ i3 \1 p2 ^+ tusing namespace std;
7 M' _( k' w o& K. H% G# ?. X# E5 d+ x# h: R1 V
" W* C0 u9 W$ y# @ w' |- P/************************************************************************/( |1 z0 L; G6 b( z
/* 获取文件夹下所有文件名
) V; Z2 a( @; U4 \' s7 n 输入: . _. Z7 |' u/ f& c, s6 p) r. P! P
path : 文件夹路径
6 d. H- J1 s9 v% ]# [ exd : 所要获取的文件名后缀,如jpg、png等;如果希望获取所有
: i$ M2 Q% U# O! p 文件名, exd = ".jt"
- ]& V2 D1 `3 c) }3 C( d$ u 输出:
+ ^/ S7 O. s3 r# w/ \' V files : 获取的文件名列表 含有路径2 F* c* e3 z+ d$ z8 X, e2 a
*/
" k4 f( W: v/ r5 h' O6 b- f/************************************************************************/* ? J: a+ }7 a6 q1 A
% B9 a$ X" U/ q: X2 @9 X
void CONFIG_getFiles( string path, string exd, vector<string>& files )
% t+ C: R4 a- S{
4 ?8 [) _- j* T! ~2 g' X+ ^% w1 @ //文件句柄
; \5 R& B. V) I- _; Z, V) { long hFile = 0;
8 m4 u+ a* C/ n- x" o/ U //文件信息
: ?5 x: i' {: {; u' l% E+ W; t struct _finddata_t fileinfo;
* s6 ?, C5 S- e- M0 G- i9 @7 `2 B string pathName, exdName;& ]/ G/ F0 ]5 Z
' _, q# W* h* u5 n' b* d2 ^; R/ l
string p;
+ Q5 Y1 v; \: p4 i; O' W if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) != -1)
3 T4 e) |. {$ x! Y$ M6 H) y" W {1 A" [4 J' {8 b5 E* p" Y& Y
do4 @5 I- a* ]) i
{
" S; N) [! P% ~) B3 u q+ |$ T/ M //如果是文件夹中仍有文件夹,迭代之
) W: ]0 Z/ O. @$ e w( O9 {0 {; O //如果不是,加入列表
- p3 l$ P$ _7 V: h5 c4 w/ z h; d // 不推荐使用,硬要使用的话,需要修改else 里面的语句& L9 k0 ]) j( ]9 q; Q" L9 i
if((fileinfo.attrib & _A_SUBDIR))8 `1 a5 ^5 b6 `* g( f
{, @1 j3 E7 @8 I1 U
+ t$ R- L* }9 |( K4 C" `
if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0); F/ k; ?; a# y6 q; P7 B- U4 q; y5 A; c
CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );
. e( @: @+ D) E6 b! A7 U
8 t" S J# u* x$ g$ n }
# `. g/ c# Z: A9 |3 x9 `, b else 1 j/ \5 K' h) n3 I' R
{# y1 T8 h0 ]0 M# v
if (strstr(fileinfo.name,exd.c_str()))% o5 \ d) A5 h
{4 E( T9 o: @, u
files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句
* ? j c* ?- Z2 b7 e/ ?$ k m }
7 m( z3 t% k) \/ d; B: D9 X0 l" G* Y2 R
//如果使用
- c7 {# n8 W3 i S; G9 W+ H$ p // files.push_back(fileinfo.name); // 只要得到文件名字使用该语句
* w: ^7 h) k6 G z0 u9 l- f; o }
& w% U+ [6 a" } }while(_findnext(hFile, &fileinfo) == 0);$ Z5 F, n/ c( }- ?
_findclose(hFile);
' |8 X+ G/ Y" c8 X7 F0 | }
3 X$ c5 u. t# w) E+ o}
! S0 k5 z |; H[/mw_shl_code]- U8 Z, a( M- q4 [
|
|