|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
# V* m" f. |% q) P4 W9 \/ R$ n[mw_shl_code=cpp,true]#include <string>
5 P! s* `8 S4 }- k; Q: ?#include <io.h>
V1 w! u. |0 X#include <vector>' h" {+ k; X# z8 `3 s
#include <iostream>
; Z% E; a7 j2 J7 [0 m6 R#include <fstream>) m- r7 o3 J+ i3 _( a. _. R
using namespace std;5 S3 u% J% K6 C0 F2 I3 @7 t4 u
/ Y- h& T' I5 J4 u5 r 0 l0 f) f& m: z1 s
/************************************************************************/
. n9 Z4 Y4 U' G% Z4 F1 |7 `+ k; }. q/* 获取文件夹下所有文件名
- t3 Q* F8 |0 t6 Y! u 输入: * o- [* ]0 \6 U: v* f/ o' p
path : 文件夹路径3 `7 a$ T7 F4 _! P( S; w/ U
exd : 所要获取的文件名后缀,如jpg、png等;如果希望获取所有
6 \3 I9 G: h9 E- _0 z 文件名, exd = ".jt": v. n, m; U* ~
输出:3 A0 }+ G" p% H5 B, {0 w
files : 获取的文件名列表 含有路径3 M. d7 n. s6 |
*/
0 k! X) S) ]+ U% P/************************************************************************/
1 `9 Z. g; K+ X5 P" C _# J6 `% O4 @- x* K2 w- P8 H9 K1 k
void CONFIG_getFiles( string path, string exd, vector<string>& files )
3 d$ Q$ {2 U: L0 k+ \. E{0 g; Y- a; T2 m! E3 h) h! M# T
//文件句柄
j/ T! t) h2 Q long hFile = 0;
2 P& f- }& @% _ //文件信息1 y' `! \/ n8 G! {1 x9 u
struct _finddata_t fileinfo;2 O7 _1 i( E( T# Q$ u( ^8 _1 C
string pathName, exdName;5 c. M4 N- Y" F; ?
3 X0 s# A6 d$ a
string p;) d- {1 @& k4 V' }- ], d
if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) != -1)( o1 t% @9 u! b8 g
{
5 u, |+ @% V6 |( d9 S, m: W2 F do
0 r8 n" L) }1 Y {
" O3 ^. M$ E! ?) s; S8 V //如果是文件夹中仍有文件夹,迭代之( L: H5 ~$ V0 o4 l, {7 } m, R/ \5 O
//如果不是,加入列表
. p. ~! i5 F" B0 ^ // 不推荐使用,硬要使用的话,需要修改else 里面的语句0 q5 h/ D! O- ?4 z1 G
if((fileinfo.attrib & _A_SUBDIR))- n& B9 |/ |2 A0 L0 P! I6 y
{* F9 r8 S" p9 M6 }' ~0 u
1 y5 A/ q3 U. T2 p! i/ j; e if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0)( P+ D, L/ r( F1 d; N
CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );
! b+ Z1 ]' Q6 N: Z
2 f" _ K D( ^1 K% t3 v$ C! z& \ }1 _- S5 e! V. y' v N4 N7 [. l$ a3 e
else - s5 U8 }+ y1 e6 T* @
{" ?- k/ A$ U% }* ~) ]
if (strstr(fileinfo.name,exd.c_str()))
$ b8 Y3 u* R) ?# r {2 @1 ?3 q3 }" S; c( R6 `1 C$ V2 m: o
files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句" h- S5 q) ]( N' m6 V, v+ `
}: y: }# r: A; ~( Q' {9 q0 d
6 ~. `0 K' _! W- v/ ^ //如果使用, U+ ]. Z8 O6 z7 q S
// files.push_back(fileinfo.name); // 只要得到文件名字使用该语句
+ s* K2 A; S Y3 H }
% d4 k* Q) i# o* T }while(_findnext(hFile, &fileinfo) == 0);
( ]5 f4 l1 J3 I4 ?5 G: ]4 e/ D _findclose(hFile);8 Z0 k g+ x+ T7 d+ P
}
( \( u) G+ V4 v: n" p, ?4 F}2 R/ v% Z; O4 r! @ v
[/mw_shl_code]6 B! H4 n7 J9 V2 f2 A. n
|
|