|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
" H& G% F- A( K' }
[mw_shl_code=cpp,true]#include <string>
O$ f5 Q1 q2 g% _; [; {$ b* s9 ]#include <io.h>$ F0 x# F O+ o9 a" C' ?% N
#include <vector>6 L) V2 T& T8 P0 A; b6 f
#include <iostream>
1 v9 D7 Y; ` m0 j; K#include <fstream># F3 z$ y* Q8 c! I( n
using namespace std;% i: h, V/ r5 w; r1 i: E, f" J
0 q# N/ o' G8 v
4 Y) s' V9 \9 M& B
/************************************************************************/- ~1 L, y A/ m5 R0 d
/* 获取文件夹下所有文件名
4 c* Z7 A: ]5 I. d 输入: - D' ~2 c7 ]: \: D( N( w5 s
path : 文件夹路径6 Y% y8 m% G K+ {, c; C
exd : 所要获取的文件名后缀,如jpg、png等;如果希望获取所有
5 {4 ~$ Q9 u( o& f8 }" o 文件名, exd = ".jt"
' y' h+ a- D- N1 T% b6 c* n 输出:
: J# ~ r3 t. h files : 获取的文件名列表 含有路径! d, O6 V6 \# s+ C" J+ Q
*/' g8 t+ R6 k1 B, r: K$ A: ^! Z1 I
/************************************************************************/8 b* U' S; _ U9 h- f/ m
B8 o! C- ]% z! h/ B+ Evoid CONFIG_getFiles( string path, string exd, vector<string>& files )
# U2 z/ C" A+ d$ A3 D{
- j0 _6 k. X+ {1 P //文件句柄
; A- L+ {$ f$ p6 j% B+ S long hFile = 0;9 e2 F% `" n6 m+ L1 h ]2 @
//文件信息* O( z x) \' z- x
struct _finddata_t fileinfo;$ Y$ W/ N, b- i2 J
string pathName, exdName;
+ m6 {/ v7 I4 ~( h S( ~5 z9 t4 w7 y9 N/ _. O
string p;
/ E1 v' F2 G/ w# P7 }4 ? if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) != -1). N) D* T/ r' _% j( z
{5 J& X8 @: E ^- X ^# s
do2 c" a/ B; [8 h. `3 ^
{/ n- e- G4 Z% A7 s
//如果是文件夹中仍有文件夹,迭代之
& S$ M. `; E; h, u) {; [ //如果不是,加入列表5 _6 ]( e% o3 A: b1 h- t
// 不推荐使用,硬要使用的话,需要修改else 里面的语句0 n- S+ {. u" L5 u9 g9 [& h
if((fileinfo.attrib & _A_SUBDIR))4 Q8 Y, d" m! I3 s7 b
{4 G H- D" e1 J# d9 f
# J+ p4 k4 m+ o7 O6 M4 q- F if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0)
3 o% H0 c: F' [$ Q- A$ ] CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );
1 T1 M J7 U% u# h
0 n0 x! w3 P$ @6 A; L1 S" [- a }
2 ~ {% ~. d! B. D. m" l else + T) z4 f2 g% g, i
{
& `; ~+ F9 `$ i4 u/ b" v1 V6 @ if (strstr(fileinfo.name,exd.c_str()))
6 k. x0 c5 k. h2 ?' |7 m$ | {3 u* k n) }: l- a( F, [
files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句
* F) t( |8 R: E }& b q3 S/ Q* A/ o w2 m6 Q, }
. i( P2 i1 v# x/ l% Q9 w //如果使用
. H3 I0 x, b% D% D6 B1 I5 P // files.push_back(fileinfo.name); // 只要得到文件名字使用该语句
! t! B( q" W. V- j3 I3 K8 u! f }2 q" ~( h2 }# ~: S
}while(_findnext(hFile, &fileinfo) == 0);
9 o6 G% T, J' Y% E' K, u& I# s _findclose(hFile);+ a$ N- ^! f! V1 U: d4 K4 l: E
}
& j# }5 y( b% Y; X5 S}& A8 n8 d1 c2 C6 R7 ]; r
[/mw_shl_code]! ]: ?3 s( N: L6 }/ |# x
|
|