|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
" a E& O6 i& {& w, j8 X[mw_shl_code=cpp,true]#include <string>
; i+ [2 r, H+ n( r. R* C3 r* M( d#include <io.h>9 I% A$ Q/ l& P
#include <vector>
( t% N* ^* u7 c* { @# c! J#include <iostream>- b. v# B8 N- t( ?5 j$ |
#include <fstream>
3 s. K8 t9 a) Eusing namespace std;
; d# S0 o* ~& D
0 \; K/ G- n2 r% k
& @. Z q w/ [2 G5 }/************************************************************************/. b: l( ]& C, G' i) L, @& D
/* 获取文件夹下所有文件名# `/ `- U! K3 n: d: N
输入:
7 |7 h7 J) Q: g path : 文件夹路径
8 M+ z! q! N. K0 x7 @" R exd : 所要获取的文件名后缀,如jpg、png等;如果希望获取所有
" E7 W+ q6 `: | 文件名, exd = ".jt"! j1 Z; t" y2 ]
输出:
& k! d" A1 J H7 y3 ?3 R: \. S files : 获取的文件名列表 含有路径
: F' s/ ?$ O0 C*/- B. b1 f0 x; e5 I
/************************************************************************/+ c, Y( E$ S H, `# F% L: T6 m
! N. i+ v( b, hvoid CONFIG_getFiles( string path, string exd, vector<string>& files )5 T1 R# Y! p7 x
{
4 }7 g! M* s1 L+ `* l- D //文件句柄
% s( @7 @! ?$ [: r2 U8 `8 k long hFile = 0; r: m0 w" B6 E, ]: ]+ S! ~
//文件信息
6 Y; ~1 K3 ~/ K' F. _9 W9 k6 n struct _finddata_t fileinfo;8 J! J: d, y9 F/ H' M0 F6 L
string pathName, exdName;, j9 b3 E& A9 Q* m
9 x8 \6 ^+ M' J8 i string p;
* p8 D7 F4 f/ `3 D+ u, ]$ d! s if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) != -1)
3 w. i5 t8 b' l! o {
( I3 P/ v" a7 F( g. z1 w do
9 T$ c+ ]8 A$ `; y$ H: h {$ Q- w8 W: o+ G' S
//如果是文件夹中仍有文件夹,迭代之* B( e( a' T/ E
//如果不是,加入列表9 s7 f1 m( M: O$ ?, F
// 不推荐使用,硬要使用的话,需要修改else 里面的语句
0 b) F' F0 ~8 h% h1 x/ @ if((fileinfo.attrib & _A_SUBDIR))
) z+ r/ D$ U* u/ E/ v% y {+ u4 A' G. O: S% E
" ~4 E6 g/ ~# p3 F4 \2 C" l" w
if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0)
4 A; @/ S6 m: s4 w; m4 Q, o CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );) k. ]) N7 e7 v' L# ?: V A
7 [+ r) S9 z3 N
}
: g- i" _; D/ \/ b# ` else
4 A2 L. y. F9 X' N6 ^ {# q( r' Y5 k1 L+ h( Y# t) n8 }
if (strstr(fileinfo.name,exd.c_str()))
' k0 _2 i/ Z; G% w {
: D6 A1 }$ q9 K* M2 l files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句 \4 B) x0 c% I0 e
}" }3 Z5 e, _2 J' J
- m1 Z- t) T v //如果使用% c9 d+ ]3 v5 k# ]9 z
// files.push_back(fileinfo.name); // 只要得到文件名字使用该语句
# ^$ J# B5 Q' |* `& G5 d: o) |6 U3 O }5 e+ v% E4 ^2 C9 F$ G6 i
}while(_findnext(hFile, &fileinfo) == 0);$ V9 R6 Z+ v/ [
_findclose(hFile);) b0 U7 c/ b! \4 u
}7 T, F% U! V4 G5 W$ F8 L& W# A* H
}9 h6 W) m( K3 k" J
[/mw_shl_code]
6 v6 D! e& x: O, N" {; Q |
|