|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
( }$ A& D. ?, I! I; }- Q8 m/ q- G[mw_shl_code=cpp,true]#include <string>
$ j0 D. p! R+ ^" Z#include <io.h>
# z. y. B& k5 r. s#include <vector>& v% x: l2 ? \, n: N2 e, F
#include <iostream>/ z0 U _, e9 A$ M0 e
#include <fstream>
3 U K r- h# Q3 B5 V, wusing namespace std;
2 {* ?4 n1 g' @9 G% v
$ J& o) W, ?% r8 T' K% W * g" z- J6 R$ |7 |/ i2 S$ c
/************************************************************************/1 x# S5 r# N4 q; e3 f/ N! r0 J6 [
/* 获取文件夹下所有文件名% u* C2 Z( u- P. |
输入:
3 ?2 y3 h1 \4 l( U5 R, u% ^ path : 文件夹路径! d( u" |* x" x4 I, `
exd : 所要获取的文件名后缀,如jpg、png等;如果希望获取所有6 w' f( z, e$ ~; Q! y8 S2 p2 K: a5 z
文件名, exd = ".jt"
8 S: g3 P% P9 P% U! B/ \: q6 S6 Q 输出:
% S. n/ f% v9 D' [! o/ d files : 获取的文件名列表 含有路径$ b: S+ ?3 y- y- x" H2 u. |
*/
. ?1 F/ f3 i: N% u0 E) x1 ?/************************************************************************/0 V1 ?- E1 g2 \( @/ a
, B: Q& b7 k l9 U7 U3 M
void CONFIG_getFiles( string path, string exd, vector<string>& files ). D0 f/ U0 k- \3 B# o" A5 A# d7 ~
{
+ x4 R* y% _0 A //文件句柄
- a2 e& \4 r9 N( u/ W% e) ~ long hFile = 0;
4 H* U5 Y5 x& i% m/ b- L //文件信息
% t% a0 a+ X6 ?, h; q9 | struct _finddata_t fileinfo;
w m/ A0 X; M7 X5 l2 B' b5 E string pathName, exdName;
7 z9 f; t: m; L; Z+ o" o H+ U3 e2 P4 E0 t$ f
string p;8 t0 y9 ~* Z) `" n- c8 D K2 p$ Q
if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) != -1)
5 {9 I6 ~* ~1 Q {
! f0 a, k+ ^. S- o do) I$ B7 C0 f6 c& i, B6 Q
{
J! L" P3 w$ Q; r$ W2 Z/ d //如果是文件夹中仍有文件夹,迭代之7 j1 Z5 x5 I5 \: ~# Q
//如果不是,加入列表6 K) Z4 Z! N. J( L% d3 i- r: N; L
// 不推荐使用,硬要使用的话,需要修改else 里面的语句5 R* }- [% n- O2 e' i( \: ]
if((fileinfo.attrib & _A_SUBDIR))
! G/ x. f4 e9 V7 t {. W# t( J" u7 F5 U4 i8 ?
" j. U' g( r4 `5 w d2 e$ { d if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0), q0 ^) _1 x x
CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );6 K* m' A& f& F* P# c6 t* _
% p) a7 ] G6 ^" M! { }6 J0 E. F4 A7 p2 F/ u3 R; N: Z
else / O3 o; k0 \2 T& h
{; g0 r4 c6 V& n3 M( j; A' u
if (strstr(fileinfo.name,exd.c_str()))
( Y( ^& D' T' [7 m7 e( b' D) p {) Z# B3 N5 O. [( b' R g
files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句
0 z$ G+ f0 `- d. _ }/ t6 f) f8 f3 P: ?% T( T% {
% r' `- r) y8 x. W
//如果使用 l3 }; \7 g: C4 Q4 j3 |7 U! l
// files.push_back(fileinfo.name); // 只要得到文件名字使用该语句
( e! g9 H. T8 N& [7 j$ W; {, N }
' p4 w* q/ K8 s* ~- \) J }while(_findnext(hFile, &fileinfo) == 0);0 K1 ?# ]; @6 @/ ^9 y( ?, n
_findclose(hFile); I0 i8 D- Z1 s$ f- R `8 J
}
$ A1 z% ^- E0 i6 j( c}
/ f$ A2 a3 ~ k8 j) N$ {( }[/mw_shl_code]7 d/ g l4 g* p
|
|