|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
& d% R2 t0 }: V/ U/ x[mw_shl_code=cpp,true]#include <string>+ e2 r/ g( `9 h9 j6 |
#include <io.h> N- k8 I$ i1 ?8 ^" ]$ ]
#include <vector>* |9 T& k; l# Z8 j
#include <iostream>
% K" f) r0 W# T8 d- |' @% b#include <fstream>7 j7 j3 b9 D0 p# g8 x: N" y6 C% z
using namespace std;
6 N! O, T3 F: U+ D6 j) P$ Y% y5 k3 x k! ?, r ]9 B" E% P; b8 [
5 r, a5 D: @1 q/ Q/************************************************************************/
4 {- u" z4 p3 I4 ?' S! r8 }/* 获取文件夹下所有文件名
( e! _7 P" v# ` i& i- V) p% }1 | 输入: $ D( c8 i! X C6 l; j4 v
path : 文件夹路径
5 [# O" x1 r- s6 k exd : 所要获取的文件名后缀,如jpg、png等;如果希望获取所有* R" q+ y! q$ z2 _1 {( Y
文件名, exd = ".jt"
9 P5 e/ g7 {( u, Y/ B U8 g7 u# ^ 输出:" V0 l# H8 M/ e' d: i( Q
files : 获取的文件名列表 含有路径, q$ e. m7 Z- R+ K
*/
$ T! z3 e6 e3 ^4 y! U1 e! u/************************************************************************/
8 l2 k* U/ i: O/ X. w. y5 T9 @; M( l2 t8 W" }5 Y
void CONFIG_getFiles( string path, string exd, vector<string>& files )
( C6 R7 d2 u0 M6 I( o- v8 O{3 A: I' A3 k) L% \8 n# H$ n
//文件句柄+ b; G1 ?- b3 b9 l, L2 q
long hFile = 0;+ x8 G) B6 ?0 r' b2 C
//文件信息
/ p2 _2 u4 J' r# k: s6 ^8 Q$ Y struct _finddata_t fileinfo;
3 D8 k0 q4 }; z string pathName, exdName; h% _' q2 c2 I& s
/ Z, N! @2 y1 H/ F
string p;
% R! g+ I% h6 G0 A8 b if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) != -1)
9 J" R# e" X, ~% k6 | {1 ^2 j9 Z) k" K: |# v
do
3 I( E- N/ t$ e% S( { {
% h3 U- j, j- \" r& r* ` //如果是文件夹中仍有文件夹,迭代之
7 [/ [8 [/ H& K) J; f( I //如果不是,加入列表
% @9 L A; `; x4 Z" \* U // 不推荐使用,硬要使用的话,需要修改else 里面的语句3 o+ f7 u5 T) t- j6 P
if((fileinfo.attrib & _A_SUBDIR))
7 `3 b; u2 Q n' d0 @% p/ v u% g {# G; G8 A6 r" R2 Y3 P, E, a0 |
( c1 g: E+ g7 {) W, w if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0)
7 i3 ^3 A' B$ N) @8 B, a/ l CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );# t/ f1 P) I" @* ^- r$ x$ K2 w7 L# B
4 Y8 x5 j- @3 a }. }' M! [% q& G
else
0 k. l" [/ A3 r j {+ N) S* F& D1 u9 z8 M' d+ S
if (strstr(fileinfo.name,exd.c_str()))
* c+ ]- t7 I. ^0 L! g; Z {- _, f3 k1 d0 r$ H+ ?4 b! c6 U1 L' |
files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句# ]& {: L& o- B9 O! o& J% Z" O" U
}
, A2 ~ ]! X& x k% L& {- U+ S1 N/ A% o6 j
//如果使用
/ C/ H8 ]9 I& W# @/ k; V5 l // files.push_back(fileinfo.name); // 只要得到文件名字使用该语句
1 L! t4 h. [& {/ c7 ? }
$ A+ U, x) t) @& A$ u }while(_findnext(hFile, &fileinfo) == 0);
3 ~: k! @+ ?" Q2 { F _findclose(hFile);
1 j/ P1 g7 x" } }
! f! e4 p; V* W2 F. ^- j}$ }+ z! y# l0 O' [) L( U& l
[/mw_shl_code]; n5 R+ q) k" ?! m9 W$ M" B- l
|
|