|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
8 a4 b1 d1 O0 t# ]- Z' C[mw_shl_code=cpp,true]#include <string>
' S" j; x3 I$ o E: `, `, f#include <io.h>2 _* F( C- O& n4 t
#include <vector>
9 i8 {9 L- U& m E' I* G2 }: Y#include <iostream>
/ @4 d; h3 u6 A#include <fstream>
7 Q; Z' x' _+ u$ u) o# ?# d$ C" w) iusing namespace std;2 V5 ~/ R1 n& X1 k
9 R' V% ^/ f7 o2 R$ i5 J
3 I0 R7 W' G' p9 V/ E @
/************************************************************************/: H' h: ~7 j/ X- U! V8 K1 l" a
/* 获取文件夹下所有文件名% g, j1 ]! B# R$ R. z; C- p# Q2 K; {
输入:
8 Q" C8 B" D8 w, Q path : 文件夹路径
, k1 }7 s( i/ k- J( o# t/ ] exd : 所要获取的文件名后缀,如jpg、png等;如果希望获取所有
+ B& {, B6 H, `: u 文件名, exd = ".jt"
) T. d# D6 S; W; I1 {4 S* T 输出:
% i( v `& [( c7 d- x& m$ ? files : 获取的文件名列表 含有路径
1 Q4 I/ L \0 e# [+ c/ |0 }*/) V9 B7 f: Y4 i+ [/ z7 ? V
/************************************************************************/
+ q4 j8 h! w$ n" K4 f4 @7 e3 k6 l: [4 J/ f; E9 ^, D8 @5 p: y# L
void CONFIG_getFiles( string path, string exd, vector<string>& files )
7 s; L! @* e6 Q2 Q/ q) j{, b* O% T6 a' r0 o+ G" S: c
//文件句柄
2 p" M# a* O; [: g long hFile = 0;$ B n/ s' J1 k% \9 s
//文件信息7 Z W* Q( f' H. `- y/ }
struct _finddata_t fileinfo;3 _0 o! N6 i/ M7 e3 k" g1 n; H
string pathName, exdName;/ N, R& T8 @; g8 p+ @4 q
/ s( |5 f* F1 y1 K8 ` string p;
6 o& |/ s! E% d5 t3 A if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) != -1)$ G, U1 Y# Q8 V5 s( {& o
{- Y$ G) m3 a+ _8 n" e0 P! \
do, r; |2 v% J; H/ k* y
{! z3 ]; }+ g) i R
//如果是文件夹中仍有文件夹,迭代之
* L$ D# T/ W5 J //如果不是,加入列表5 e; f; J& N' A# Y( r. r+ h$ z0 |
// 不推荐使用,硬要使用的话,需要修改else 里面的语句
& `* K4 ^( z+ j4 W- [ if((fileinfo.attrib & _A_SUBDIR))
" U& F# V* {3 l9 O {& T% A/ ^( i4 a9 d& D
: ~9 s. _* e: h
if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0)
* N9 _% S; M: ^" F( ^" [ CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );1 V. @# E0 E3 ]* O; i/ \6 K3 \
3 F T; r8 r$ Z. u }0 V% R0 l9 ^1 @: c8 p
else
. b; U3 m6 |+ N {
2 }1 u& H. ?% x0 a# T9 h" O- W if (strstr(fileinfo.name,exd.c_str()))
/ z8 T8 ^7 X% \3 A7 C4 B1 a {
( I% c1 u) G) [5 A' L5 K files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句
$ r4 g. z' }* J5 J }
4 u9 i4 W! ^9 h7 `* o% t3 [ S" c' \, Y' }# M2 Y! ?/ c8 @2 Q+ H
//如果使用9 l1 R* ~% A ~* [# X2 u- {% Z5 v
// files.push_back(fileinfo.name); // 只要得到文件名字使用该语句- J$ D' e8 ^$ |4 v. c8 g
}" A( c+ A& E( O4 E" A) |3 u/ }7 s
}while(_findnext(hFile, &fileinfo) == 0);# S7 K3 K0 v2 Q9 p1 a, G" G
_findclose(hFile);
2 K2 f3 a+ F. b6 ]) B3 z6 ^/ _ }
- B% c+ z- S1 e5 `7 W}
9 {3 B t7 k, q+ K$ e' i+ X[/mw_shl_code]
: t! U2 M" L$ I0 Q0 H |
|