|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
0 ?1 K$ C1 a) M2 n0 I2 d[mw_shl_code=cpp,true]#include <string>
6 j7 [( [, X' B; g#include <io.h>
8 f8 z( I5 Q- f4 {+ ~, s, C#include <vector>
" N1 n" H& X' s# P# E9 h. R#include <iostream>
) t+ }8 |2 L2 e, U- O4 T1 |# r#include <fstream>
! v( @% L) ^0 o& M3 w0 f: ausing namespace std;0 O% ~/ y+ O. l9 h: f& v. w: z4 m
* h: f1 Q4 D* }2 ~4 j; _
8 K S( G6 ]! h7 l$ y4 d
/************************************************************************/% b0 x8 X9 I: i$ ^! b5 g
/* 获取文件夹下所有文件名* y" C8 |. m8 `6 K, ], n
输入:
0 x5 v, ?( K) `5 l path : 文件夹路径
; [9 E: T" U* K& I exd : 所要获取的文件名后缀,如jpg、png等;如果希望获取所有' { }- J- b+ L( G# w! G; ]( ]
文件名, exd = ".jt", p6 e3 R" m" M: Z8 E( P3 N6 [2 `
输出:
3 N+ ^( O! S' J$ h files : 获取的文件名列表 含有路径: A7 f0 D) T8 p, p5 _1 N% l# A$ }
*/0 x/ W( E) \* ^9 u9 `
/************************************************************************/) w. d' Z" O8 g J+ j I
* m- w1 M$ P: b& Ivoid CONFIG_getFiles( string path, string exd, vector<string>& files )" a2 E& S- @; B! K) V: S6 C* s
{2 ]! |2 _! u7 p1 ]
//文件句柄
& D- t& T: p& |* r long hFile = 0;
2 _0 E/ B0 m+ J& @" h //文件信息" t- I6 R; V* F9 z
struct _finddata_t fileinfo;
' P0 \# e0 o$ p6 s6 {- S string pathName, exdName;4 W2 \& y# \3 P% G
' Z$ q5 s; X% b, A string p;
8 M3 g2 r9 W6 ^3 H5 \1 h. y if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) != -1)4 K9 A+ D, @, y2 t
{
* ~: D2 A5 ^! L do$ i4 n* o$ D' m6 }, c1 X6 R* q
{
% M8 H8 q6 \5 O //如果是文件夹中仍有文件夹,迭代之3 g6 e3 {2 @( [/ t. R8 a
//如果不是,加入列表; v, e( H$ n' L0 }- ]- d5 y
// 不推荐使用,硬要使用的话,需要修改else 里面的语句
9 q& U3 v* N' ^8 |' z! } if((fileinfo.attrib & _A_SUBDIR))
# p9 B0 s. b H( X& N {% I' M! {8 n5 j4 x
- p! n0 h8 b) z4 \ a H if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0)9 X; ?! ~5 k/ O
CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );
$ w( H+ U8 f% [3 d
9 K4 a) p2 B; E2 t$ E3 e }5 w, N) e; H* m& p2 o
else
+ y" a. b7 N' Y p7 t: y$ l% i {
* \, E- _) [5 I' q/ }' U if (strstr(fileinfo.name,exd.c_str()))
6 ~: ?; {0 K4 J0 b {1 C" `+ J! T* l4 O- v5 F+ n
files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句0 _/ N9 ?' s0 ]& b S/ b
}
' p7 L) E8 l. l; \% y# _, a, Q& M/ `7 i/ Y9 g& L, \8 r# [
//如果使用
; A+ P$ |$ M# j! ] t4 r // files.push_back(fileinfo.name); // 只要得到文件名字使用该语句0 W6 b( ]- |) m9 A
}
+ f+ J$ ?3 ]9 z1 [/ R# @ }while(_findnext(hFile, &fileinfo) == 0);
W' b# S$ }5 x5 ^% S2 }) M+ i _findclose(hFile);2 X8 n3 `, o% l3 X# h* y l9 R
}
# c- X- @% i6 S}
" E6 K* R. S( t$ u5 ?: f[/mw_shl_code]
3 v4 H! s4 o" w/ Y |
|