|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
! O' Q" Y) M" K, M4 c
[mw_shl_code=cpp,true]#include <string>7 m5 \; }* n3 f. ?2 `+ X2 A+ ?
#include <io.h>
6 @) _! I( N1 N; e. @0 ]( @2 d( R: H: u#include <vector>( q% F7 Y: D- c$ a* U3 @
#include <iostream># M+ ?- @- w( O7 F+ e6 w
#include <fstream>
4 P8 w* c p% z9 n" M' w9 [using namespace std;
3 q) Y7 F: |! n6 z9 [! E; ]
B. ]1 L2 c7 a4 I5 Z8 K2 ]
' G2 Z0 |5 I" y* o/************************************************************************/
' g1 f: @; D2 g/* 获取文件夹下所有文件名7 I& |+ j2 i/ r. O
输入:
9 x# e0 j9 f8 S, t0 S. ~ path : 文件夹路径
* T) _2 X# M) T0 j. f+ W1 t9 ? exd : 所要获取的文件名后缀,如jpg、png等;如果希望获取所有$ k& B. f) h* M( t4 M
文件名, exd = ".jt"
) G4 p! [+ k' w7 O" t9 V 输出:7 Q! }" F* o. }
files : 获取的文件名列表 含有路径6 w9 z4 m' g1 x0 d( |. [* t6 D
*/
$ W! p3 G; {1 ?. H/************************************************************************/0 ?" E6 { }* H/ M0 Z
( h( k: H% Z7 D8 ivoid CONFIG_getFiles( string path, string exd, vector<string>& files )
6 k* d' m/ x9 J7 Y( m{
2 Y9 q3 a( B+ A //文件句柄
}- ~8 [; c$ Q4 M" E long hFile = 0;
1 A7 v9 n9 i2 u$ N7 z //文件信息; \! i; [8 H! t# H& \
struct _finddata_t fileinfo;
* E, |. Q3 u! l6 p- Q* V% `, q string pathName, exdName;
2 a% h/ [. x. W$ Q" {! X( Y- }$ j- _# w5 f a
string p;
0 T b* L' J+ k if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) != -1)
2 y! E) V" n; ~* K' H& E7 N {
2 ^& ^. n+ I" P: P {9 f. J do
( L6 C& c3 P7 F4 E/ S% s {* x6 i2 h$ H- e, A& j, s
//如果是文件夹中仍有文件夹,迭代之* n: ?& N! Z0 n4 T/ e0 Y
//如果不是,加入列表
1 T* c$ e$ ^7 a8 Z // 不推荐使用,硬要使用的话,需要修改else 里面的语句
9 E" B) I# U" {3 w' b/ j4 W! a! t& _ if((fileinfo.attrib & _A_SUBDIR))
, ^/ N4 f1 w \ e8 [7 G {* }" Q+ F7 Z! u
" T& q# r9 ~* j: E0 x+ Z s0 Q' L
if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0)
8 [( b+ {" y/ R$ J/ j, M0 U CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );
6 D- Q; Z: U \- E7 s7 I' n5 p; V' T
}, A8 `8 f) A0 U) n4 Z1 g: e
else . n3 b2 O+ o6 W4 _- e
{
' z5 ^& l" J3 |) j7 N# ], w, p v. e if (strstr(fileinfo.name,exd.c_str()))* Y) ^7 I" k" l0 a ]* I
{$ e- w2 I. ]9 H3 g1 {4 s
files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句
3 t' l9 d- |; ^! @3 C# T }% x u4 R3 u' Z% p& N5 U! u
, g* T! v \2 o w. b
//如果使用
% N9 N0 F# [) Y4 h$ k+ A* A // files.push_back(fileinfo.name); // 只要得到文件名字使用该语句
% L) S0 e. Y& d+ P1 f- b. S }9 F' v: e2 t% x7 T1 e
}while(_findnext(hFile, &fileinfo) == 0);4 `; K& E2 U2 F) Z
_findclose(hFile);
& P, b' M* @4 P. S# r }
/ B7 M5 A$ |$ Q; X}7 o% K$ [ r0 i- G8 J: T
[/mw_shl_code]( {1 w% }. s8 L' a6 E9 ^! j" ]
|
|