|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
% [, K$ [& V4 ^
[mw_shl_code=cpp,true]#include <string>
$ U& ]" M& L$ x( H3 r#include <io.h>; I) @" D& w; b# c5 E
#include <vector>
7 f) E0 g1 O: F$ b$ _2 p$ x0 F. m$ Q" y) V#include <iostream>4 _1 A: g! F: ^( }5 f
#include <fstream>* j1 _9 n6 @8 J: }9 _9 F
using namespace std;
1 r/ u0 j4 V% k8 ]
* g+ B8 w+ V. b4 L- h/ s
* o5 f- c3 X( y/************************************************************************/
2 y. Q0 X9 Y: y/ \* d/* 获取文件夹下所有文件名: k, p( M1 _. F: { F9 O6 B
输入: ! c% ^) m# A& p5 H( r7 \' z0 b
path : 文件夹路径
: c: x0 `& ^# U. |& p8 \ exd : 所要获取的文件名后缀,如jpg、png等;如果希望获取所有2 F$ N' M- ~' u5 M9 @) u4 o
文件名, exd = ".jt"% _% V" G1 r9 c2 ^7 Y/ ]3 V
输出:
) N$ N6 z1 n: m9 I) }2 g- j files : 获取的文件名列表 含有路径9 L6 R1 } [" h" ?2 N. c c1 k
*/
% S* s" W5 g- e' i e3 @# q/************************************************************************/
7 v. ]$ N) A' B7 Q% U3 B, c2 e% |8 l! _' X" }' ]' u
void CONFIG_getFiles( string path, string exd, vector<string>& files )+ ?) Z9 \% z0 i/ `/ `
{% I$ O; x* N r. G9 |8 u4 |
//文件句柄
( \. T% m# k& V$ A long hFile = 0;
. v: T0 U! ]8 \: n* ^ //文件信息# @ X2 x( _- Z
struct _finddata_t fileinfo;
& u$ A/ ^( u6 B- c, C string pathName, exdName;( V; z; \+ F8 v
0 a1 s& s/ I, n* ~- H9 S string p;: q; b6 f2 Y8 M' f9 i; g9 x
if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) != -1)+ V! D& \% }" C& Q% }& a. {9 `
{
0 s- |1 s8 I# S( p do
+ |: |( E0 i0 t4 z4 [# \& I7 L) | {9 t! l) u" Q" C
//如果是文件夹中仍有文件夹,迭代之7 U% e4 E% Z, U( U5 a
//如果不是,加入列表
! V: L2 f1 o0 M; f2 s' S // 不推荐使用,硬要使用的话,需要修改else 里面的语句
0 `8 L3 D! d4 E% Q( b if((fileinfo.attrib & _A_SUBDIR))* P5 ^5 [- _7 [3 c, i
{+ U# f6 z; n5 j0 O; c
' `3 }. @: ]& f3 p/ ?8 u- r' m
if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0)
" t0 k. w: q8 ?4 X! S6 B# E CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );5 ^/ t4 r0 R+ V# v) `* u, K
3 K9 h n( T/ U. z% T }
2 w! g4 ?5 I* G8 Z) N else / A5 [% ~/ b$ B7 h( l
{% K: G) q( K% ?' N, ~- ?
if (strstr(fileinfo.name,exd.c_str()))+ }7 O e" b B: S# m
{ q7 w0 y- G3 r4 `" O4 E, ^
files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句
' i7 Y2 F, w5 {2 A+ l( s }9 ^. _5 X" h7 U: @8 O% w) K* i4 G
' e; e! h: T/ p0 h+ l: o
//如果使用
$ A Q0 N7 q5 ]- H4 o2 w! x // files.push_back(fileinfo.name); // 只要得到文件名字使用该语句
9 G; Q7 Q% _. e: K/ f2 ]+ u) l }
2 \3 s# u- j4 o' L( s9 } }while(_findnext(hFile, &fileinfo) == 0);
" F$ \' D: X% b1 P" i _findclose(hFile);
" c1 |6 p. W7 J9 B; ^/ }4 f) G }
0 k. J$ Y+ N, \, \( y" _, D) z+ N}0 n3 E* m) `2 V \
[/mw_shl_code]
/ j1 q/ ?! n& ^6 z! ] |
|