|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
6 c; Y' ]- R2 i8 i1 s/ K
[mw_shl_code=cpp,true]#include <string>4 K% N6 V1 c }( D6 B' E
#include <io.h>6 j$ ]' f" f* L. I8 u/ [) W) w7 a, e
#include <vector>
) S, v! d) P" W9 [#include <iostream>
Q$ D$ @6 [3 T# G#include <fstream>
6 h0 a' E2 }/ b$ ?6 f/ F' G* m9 Yusing namespace std;5 r7 e* y$ }# z8 h: Y& H5 j* E: ]- \
* K3 V" w& \7 O3 \& S. h) g" V4 `+ a
5 v& O3 B# a L/************************************************************************/, v+ R( N3 f* `( G @$ N& b
/* 获取文件夹下所有文件名! l/ I5 E0 s- H; \; i' Y3 v, G
输入:
: w& U* A; p* f+ i path : 文件夹路径0 q- e* S g& t$ a6 N3 L* h/ c4 V
exd : 所要获取的文件名后缀,如jpg、png等;如果希望获取所有# A1 ^ U+ ~$ ?8 ~% [5 W
文件名, exd = ".jt"' [1 X4 N$ w9 {8 V
输出:
& I& \# T/ Z, k* h files : 获取的文件名列表 含有路径
* X1 p9 c0 y! ^& `+ j O7 L*/
/ U/ x6 S! c4 ^6 N' T( e/************************************************************************/. w5 Q N9 R$ K2 k# H
1 z2 ]1 Q4 o5 ]: K& Qvoid CONFIG_getFiles( string path, string exd, vector<string>& files )) J) x/ h9 b" K/ o
{+ M1 _8 F4 w( O+ D9 s4 A
//文件句柄
: z v) e. B. @3 _2 m8 W8 F long hFile = 0;
6 \7 [& H( K0 ]' t //文件信息; R) z: E9 K8 r1 G$ [0 S% c
struct _finddata_t fileinfo;" |2 M: ?# N4 y
string pathName, exdName;6 m a$ E9 o7 L
( |& x/ E8 w! p \4 P
string p;5 ~' h- U" g8 w* N% @+ j) H, l
if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) != -1)
- q! O8 b% R0 l4 o! _6 y; w {
1 D0 p. ~! G% N2 A/ A* ~* ]8 d do
& Y+ n- c7 O! c$ b {
, b/ A4 z# K ?5 q //如果是文件夹中仍有文件夹,迭代之. }5 l5 z. q8 g# o
//如果不是,加入列表$ @* u$ I& I' U) }% a# h
// 不推荐使用,硬要使用的话,需要修改else 里面的语句% m/ r! d* ~; [* V* n
if((fileinfo.attrib & _A_SUBDIR))
, @( ]+ g9 o2 o' U& z' | {* l- _* j9 ]2 {2 h
. F- a; t+ i1 T0 g2 I+ B2 I- ^% V
if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0)/ [3 F, e2 i9 C$ F; P% b8 I
CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );
3 }6 v$ l$ ?' b3 S8 O$ A
% ?+ `: Q0 x& L" K5 w }$ z7 D$ m, c5 [9 Z Y$ }3 g0 |
else ; \0 L, y. p/ A: f
{
3 M" D/ k# h) H if (strstr(fileinfo.name,exd.c_str()))7 L6 J, K/ s( o: [4 l0 U+ Q7 o
{4 k& ?- ~0 r' j* e, G+ W
files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句
+ A/ B s+ Q# V }: p0 T/ X' \: i r8 [" j# i
# y3 V2 u J9 W
//如果使用 A5 C" k" V% P- v+ \6 r2 F
// files.push_back(fileinfo.name); // 只要得到文件名字使用该语句
* y& y+ o, p2 I& J- B }8 T; @- L6 _# D: J
}while(_findnext(hFile, &fileinfo) == 0);
* R) [ a* u, j, L0 j; _4 Z _findclose(hFile);
" R! T6 U; n5 {1 ~9 H3 C }
7 X* ~2 F' F W0 ^5 M- @9 E}
# o' d) W+ }) R" W3 R4 O[/mw_shl_code]
4 v) ?6 v! `8 ]+ C: o4 U |
|