|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
! B! B) I! u- [) s) o5 x; X* \[mw_shl_code=cpp,true]#include <string>2 K6 P: H. e! X; Q7 R9 b
#include <io.h>
2 f% l" W, P4 ]0 ^: `3 X3 U#include <vector>; w+ ]) q: I$ k
#include <iostream>
w6 _ O1 `$ }( b' X0 S#include <fstream>
- Z- X- o9 [- Q7 h2 n$ ousing namespace std;1 \- d: y: K1 w( ~2 I% H$ e0 p
) T3 D; Q* |' Z3 m' C* ~
K; f8 P0 I: J' a1 P7 f/************************************************************************/
' r1 ]8 r/ B( I: H4 B/* 获取文件夹下所有文件名
/ }7 a6 G$ c- `% a5 g6 E0 ^9 a 输入:
! M0 y4 o$ k: S/ B' f) ] path : 文件夹路径
0 b- l, D' j% q exd : 所要获取的文件名后缀,如jpg、png等;如果希望获取所有- M& z" } k l( h
文件名, exd = ".jt"
% [% J4 P- P( v" ~( z8 {& f 输出:
/ M* W2 w/ V& F _# \: u* }, X/ n files : 获取的文件名列表 含有路径7 r$ ]7 y$ m: _2 u! l5 Y0 z3 M
*/
$ k; X7 W2 t# H/ B" `/ H% M( U n/************************************************************************/
7 x' p8 }' d' L- b; c
8 _8 r' G* l) T7 Ovoid CONFIG_getFiles( string path, string exd, vector<string>& files )( P4 }# _4 i5 ^( P
{
6 u8 a; [) T% L# N7 D% ` //文件句柄
3 k: M! B) }# t long hFile = 0;4 s& \5 X. H0 G( J3 }# x3 P; d
//文件信息
6 N( W& n4 _9 O! a0 _# u2 h/ i, M struct _finddata_t fileinfo;6 i. v/ j; e S* r0 P
string pathName, exdName;. |6 N3 u% k: e0 m! J8 z m
* Q& }& F8 W4 W& T string p;1 A7 a: N! }& ]# l9 _3 G3 V6 a
if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) != -1)2 k6 t. g2 q/ ?; w
{
; K9 E. `) I% W( Z5 k do
1 b+ I- W2 `# c {8 ` w! p L0 ?/ a4 P6 p3 H$ K# d
//如果是文件夹中仍有文件夹,迭代之: i4 Q P* w# b1 M& C; ~
//如果不是,加入列表
7 p, w8 s9 j7 W) E/ @5 {% L // 不推荐使用,硬要使用的话,需要修改else 里面的语句
0 W5 \ S7 W. N. S if((fileinfo.attrib & _A_SUBDIR))
L2 r! v7 O9 p" \6 n3 }, K3 ?+ x {
3 z4 B' ]; C; \* H# C( s. o" ~ 3 @6 h# _7 q' Z8 ?3 h( ^
if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0)0 t0 x1 c3 I& V+ Z; s% d
CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );
8 @$ c4 C U; U
! K: W t, U4 U; D4 H7 t }
0 [6 P8 Z7 E, @9 f& z& M: c else
5 X) }* E7 K) o6 _6 Y {9 X8 H3 ]( N0 `$ o1 Z
if (strstr(fileinfo.name,exd.c_str()))
1 N# V* N9 j R6 f# Z {
0 Q V2 X) ]7 }- M files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句
7 E; c0 f! d, ` }
V" o7 Z: s2 |8 \
* @- k0 K/ S; k# ]. M* q T6 z/ j //如果使用
$ U9 `) | k3 F4 H0 z! S // files.push_back(fileinfo.name); // 只要得到文件名字使用该语句2 h2 [* f& `8 A) g% a; T8 o
}, ]- f; K. Q: m2 m6 {; k
}while(_findnext(hFile, &fileinfo) == 0);
+ S" {) H8 c" O3 z9 t _findclose(hFile);
$ G) W; _4 \' ?, j6 Y, C }; }: r4 D7 v' l7 G( F
}
1 q1 g4 N+ b# ~" }2 \[/mw_shl_code]. D" F' [6 Y; P7 C5 A/ P
|
|