|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
4 d7 P8 l- P- [( F
[mw_shl_code=cpp,true]#include <string>1 v, c9 {& E ~- T0 d* w* l
#include <io.h># S u! h; r x; S- C- [% V
#include <vector>
8 \; O8 h$ h4 j, \- {3 V8 g#include <iostream>
% C7 @: S( ?0 u1 u4 X/ ~#include <fstream>
5 x. a/ y* Z2 y/ Musing namespace std;7 U- W$ @2 A3 P5 C
- U* o# _8 F8 X, G8 ?+ h
# n) d U* \- }% a, X' T* \% L+ ^/************************************************************************/0 I# A4 }7 j5 H1 I" c5 l' e# g
/* 获取文件夹下所有文件名
# }) i1 y5 ~3 @5 O& ?" g; d8 o 输入: - B# o% _! L( M
path : 文件夹路径
4 Z2 D) F" y, h, {4 l( G" ] C exd : 所要获取的文件名后缀,如jpg、png等;如果希望获取所有/ L; O8 E: t- V- q) `4 Y; D
文件名, exd = ".jt"6 x0 L9 y! |5 Y4 y7 }
输出:
3 o, o% p+ s( p$ c5 Q4 G; e) S& z files : 获取的文件名列表 含有路径0 y- D$ ~' g% D- c0 {( `" F
*/. W2 v; e7 A+ |
/************************************************************************/( _# R n& c/ k, U. Z7 \+ x
$ h0 J( e/ h' Y" z9 Tvoid CONFIG_getFiles( string path, string exd, vector<string>& files ). N" z$ n- | Q$ j& b; R
{. |, {9 ]) \* O0 J! c' ~1 a
//文件句柄1 x' z* Z. r/ z3 x1 W) \ r7 X, ^
long hFile = 0;
/ v; \9 N& i! z ? C; @( Q //文件信息
! t& L# r' l4 m0 \0 F! w struct _finddata_t fileinfo;
9 Z9 k A2 c3 t) m- w* c2 { string pathName, exdName;
9 v4 v! T" A2 I
9 l8 x' c- y% L0 P string p;
9 J( i6 \: f# q if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) != -1)
' Z. w& Z3 u" [1 a {$ z% s+ R3 i: |* D* o8 H# ~; F
do
" A7 |. B7 w7 w7 ]# q8 x {: V; b. T- J2 J( {% x1 ?! z( g! D
//如果是文件夹中仍有文件夹,迭代之
4 t5 ]" Y2 ~& {/ ~ //如果不是,加入列表% B$ u/ ^8 m' o" s! U) p; n% _
// 不推荐使用,硬要使用的话,需要修改else 里面的语句
5 c6 V2 q$ [% Z/ k* o2 `- ?$ y" t' k if((fileinfo.attrib & _A_SUBDIR))+ e0 K4 I) u* c& g$ p5 ~
{' ?! [- v! e( y+ q
4 d3 a9 } \* Q7 g
if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0)
/ m' i" H- O- W b( h4 ? CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );; a2 B, w X/ w1 E- \
# H0 n4 H& A# h' k5 H }
* s% o1 t$ f# H else # M, s' a1 M; C3 k8 z% R
{1 x, R3 X( k$ c% k/ N& g& P6 S
if (strstr(fileinfo.name,exd.c_str()))
3 ]6 m9 f$ C" M- ~0 o {
4 g5 j7 Q. j7 X- A* n1 D: V files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句7 p$ }- l+ E" z$ f/ E5 `7 ^$ a
}/ U# m! H. V( O
0 L2 y6 V l* V5 J
//如果使用3 j a4 m% ~/ I0 C& ?
// files.push_back(fileinfo.name); // 只要得到文件名字使用该语句/ G& b( H1 A# ~7 l: l& Y# S& k1 m' C
}
1 i5 e3 [' U ~+ ` }while(_findnext(hFile, &fileinfo) == 0);
% v, l8 A, U/ J4 Q% y _findclose(hFile);
& l5 y5 M: ?: B- ` }9 U' C3 j9 ^0 M& K/ L9 ]( q
}$ K. D7 Q+ N! o; o' P# i2 ?& I
[/mw_shl_code]
3 ?7 `8 R+ e% r" w& k% L( R |
|