|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
* o' M$ n. ~# L; f% x" v
[mw_shl_code=cpp,true]#include <string>
5 V) E. o0 Q" M+ z+ q: h$ j& R# F" }#include <io.h>% B' ?* Z7 `- w" v
#include <vector>" c% o5 _% n+ t2 ~/ B
#include <iostream>6 h( |8 s* s4 A8 u( ~8 A
#include <fstream>0 X8 \5 L; |4 C, z
using namespace std;
7 x( H4 k5 N s9 B0 |) R* T( K e8 h6 k. F" B% U( P1 i4 z
) r$ P* L0 O' N1 C+ F" [/************************************************************************/
. K& E n; V! ~6 A# ]/* 获取文件夹下所有文件名. N/ V* o3 f8 q; n( n' E9 O. u) \
输入:
@8 z% P* O3 c1 t1 ] path : 文件夹路径6 y3 a; b7 s+ J8 {# X5 w' S. ^
exd : 所要获取的文件名后缀,如jpg、png等;如果希望获取所有
9 w8 Z q Z$ h* u% n, z3 F) v 文件名, exd = ".jt"
; w" M' i7 V' |* T' e& s 输出:+ J& c; m! v: E$ C# F; x
files : 获取的文件名列表 含有路径
; E2 l5 y0 q+ j0 m. L*/
|' ^0 h8 Q% Q. [5 G& {% f/************************************************************************/7 z% d- K5 f2 d! x7 I- K* [
; r' S; E" w9 rvoid CONFIG_getFiles( string path, string exd, vector<string>& files )5 ]! X$ H7 o! O1 X' z0 h0 g' q
{
2 i" N; I2 r) L( ^# f7 _. p //文件句柄
7 d, q# A( y! n* h% n* | long hFile = 0;
7 F+ i- I7 Y6 F3 I2 l, m, J //文件信息/ W t$ V$ w1 P3 w! x% O
struct _finddata_t fileinfo;; _, Z8 M! @3 c8 ?# R5 G/ @/ @
string pathName, exdName;
2 ]$ t# G# [0 y5 S3 A$ v
; b ^; ^( N+ P$ H7 b string p;2 h2 X* `: f* t% R5 I
if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) != -1)5 ?3 y: C; c7 L3 a7 {
{& Y, J* [8 Y, C0 n- Q
do$ a7 k/ ~! n: d$ }
{: K; v6 Z8 y9 p8 z1 H3 ?4 C0 [
//如果是文件夹中仍有文件夹,迭代之
1 v" Y B( p$ s, a3 S$ R+ T //如果不是,加入列表
$ w( [2 B4 w6 u. l0 W4 e // 不推荐使用,硬要使用的话,需要修改else 里面的语句) q" c0 }4 a- i# b% I2 s/ z* D
if((fileinfo.attrib & _A_SUBDIR))
! R" o6 G- W9 o1 ~4 N8 q# ~6 m& u {3 @! \. p1 D! E3 q
2 `0 B! H. ]5 \+ M3 r" ] _: { if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0)3 A0 m1 w" |9 D6 A6 D
CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );
; p4 d2 t; B% f( Y- s' z! `+ f2 s( ]6 }
}
# z }, F7 D7 ]9 [5 @; P# P4 _' [/ H else
8 Q7 u4 \& j; u% V/ O& Y {& T+ w. i2 O' I
if (strstr(fileinfo.name,exd.c_str()))
6 ?0 p7 f* x i+ E8 B0 H- D {3 [6 C: \ W4 `/ Z4 P4 \3 f
files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句
! h) U* S: ?. Y7 P5 u0 m' j }
A! X7 | H9 e+ P- c! y7 _! f5 a5 f8 I9 g6 {
//如果使用
* }1 u" d: x9 v4 Y // files.push_back(fileinfo.name); // 只要得到文件名字使用该语句
0 @. g" t0 t g }
, @% Q0 j( T5 l% F: ~ }while(_findnext(hFile, &fileinfo) == 0);+ H) v/ u, R1 r% Z1 Z: `
_findclose(hFile);
" u* E: h, ]2 T) \; T }6 N0 @+ {1 u. d, A+ Y, q% B3 _
}% E3 r) _1 b! w
[/mw_shl_code]( E. [) ]: y% D; i* ^; Y
|
|