|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
$ f! f9 _/ Q; b, J0 b
[mw_shl_code=cpp,true]#include <string>/ F8 c$ I0 W% d0 W
#include <io.h>
4 }9 y$ H9 ~% p& e#include <vector>; }0 x1 V$ t) G; M7 N% S6 R
#include <iostream>! e* D4 t- Q! s' m) N6 M: ]
#include <fstream>
3 X6 q# c! o/ S+ ], w8 k9 D/ E% d& yusing namespace std;) ]: n" B, T) I+ I. U/ ?
) g( _8 k) A7 u' ^" Z 0 j/ n5 g: M/ _8 r- y5 c& K
/************************************************************************/
$ m" H& s9 t7 C7 ]! Z0 Y, F1 R) n2 k/* 获取文件夹下所有文件名$ ]) _5 {& ~2 P/ Q$ @8 ~! _! D
输入: ) }6 k8 V% W! m2 A* o
path : 文件夹路径% k. U4 J, F H1 H- \, E4 m
exd : 所要获取的文件名后缀,如jpg、png等;如果希望获取所有
5 q/ @$ `1 T" g! R 文件名, exd = ".jt"
; S3 T6 ^, ]7 F8 c 输出:
& [; H2 |6 b" N2 L0 V files : 获取的文件名列表 含有路径# O& W/ q" A8 ~8 ^" B
*/
/ `* |2 v! j9 ~1 K/************************************************************************/ G7 [8 ]3 d' T
' e9 G' n. }3 i8 n6 F
void CONFIG_getFiles( string path, string exd, vector<string>& files )! j6 X; I. Y2 O
{
- |+ `, J7 A+ ^5 j+ c //文件句柄: b9 b" n3 u' k
long hFile = 0;
+ l' V: h2 I- e R; X: y a //文件信息
' b: ?+ @3 J' {& u# o( O struct _finddata_t fileinfo;
, ?5 f& e! p6 c, R1 B3 S string pathName, exdName;$ K5 A6 F) g! b: _6 Y
$ W0 ^, @) V, y+ z% J string p; f# j: A! s+ g2 `3 s
if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) != -1)
6 {" v+ g" X" s* X. J {
+ N2 a5 N$ r0 y. n6 Z& c, _ do# y' w$ u: q" t0 I! b
{
0 R" x9 C" |: }; c% J/ D O //如果是文件夹中仍有文件夹,迭代之
) Y" R8 d. b# ~. Z; E' }; p' x, H //如果不是,加入列表
% {9 P {. ^, i+ Z7 c3 b // 不推荐使用,硬要使用的话,需要修改else 里面的语句2 U5 G2 A( l8 e h+ s6 u
if((fileinfo.attrib & _A_SUBDIR))
+ Y& T# A* h5 i) }4 L {
8 U) B( o2 i5 S0 t& i
3 Y# e7 P& I# W/ i8 P7 e if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0)
) g$ R# K! M m CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );
1 H9 i% ?2 ^6 g5 L8 E( g' V* [. l9 {% M8 s6 U) p7 r5 N
}8 m S2 s% ^6 v8 q, y3 ]
else # v R' y7 p& _
{5 w7 s- ~5 E8 u1 x" i$ x. O
if (strstr(fileinfo.name,exd.c_str()))6 x- K. J4 ?! D7 W
{# N: R/ p2 C& |- M- q+ X
files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句
& [3 I! U- |- G# ^ }
5 v, G9 k/ I( e2 k- v( g; A
* S. o; d$ n1 [( \6 s, | //如果使用; z- r/ z1 w' u, f4 K' U) ]; v& R
// files.push_back(fileinfo.name); // 只要得到文件名字使用该语句' X2 e% M( ~7 j4 O( _4 X4 c
}' F9 _# `- S* L
}while(_findnext(hFile, &fileinfo) == 0);
; R( s& h8 h( M G* Y' j _findclose(hFile);; g7 s/ r; T: b. f( m: n
}3 c4 T- b$ K) i. k! M8 d# g, g6 l
}6 N- C7 C. }2 O) t
[/mw_shl_code]
) U% ?8 R ?+ o. r" K' {% } |
|