|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
2 }% o" U4 f5 l4 c3 I3 | z6 W% q[mw_shl_code=cpp,true]#include <string>
+ o) D( S9 \* v6 z& k#include <io.h>7 i- C0 o+ X( ^% ]
#include <vector>
, e9 T3 S7 B6 d1 ?8 ?: m, E#include <iostream>" F3 T0 `0 F% E9 C" P' M
#include <fstream>
% S, G& \0 w0 _9 C. Busing namespace std;+ x5 ~4 \( c9 n- E+ ~& k/ g
, H5 C T1 l" u* @' ], T; t% j
, |6 r5 }$ r$ j* y r/************************************************************************/
6 l* b; Z- u. T( U- Q' h* u/ x/* 获取文件夹下所有文件名
& s# x; U# w' _& o 输入:
' ?0 d; t+ l, D path : 文件夹路径, Q- w# |3 ~' X* v' j$ \ u, |
exd : 所要获取的文件名后缀,如jpg、png等;如果希望获取所有
/ C3 Q+ a" l5 | 文件名, exd = ".jt"
: { ~: L/ V. Q$ w( J 输出:
1 Q+ _" X- U4 f* ^. k files : 获取的文件名列表 含有路径
9 a6 o3 E7 `& r: |*/% n: a' i1 \ a( L
/************************************************************************/1 B6 {0 F' `: x- y o& z* _5 X
! J8 F4 b. h, R' q6 o
void CONFIG_getFiles( string path, string exd, vector<string>& files )" p w, U! C( y# C- u) _& O
{
$ \6 z3 [5 E- p2 ~ //文件句柄
9 `# i( g$ |) @6 u N o. d8 w long hFile = 0;
- D" q0 P" J# f5 H //文件信息/ z# R2 T O! m
struct _finddata_t fileinfo;5 m! A; E3 b. i1 N8 u0 P8 S+ F+ L
string pathName, exdName;# `7 d8 t$ y$ C
/ a1 J) z5 ~ C; d! q& U: O string p;
. r; c$ Q+ {9 c" J- J6 ]+ z if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) != -1)
; G V5 d! j; f/ m+ Q3 \! q {
* z/ {& y. B: C" }% I. j5 w do
% s* T. y# Q) M8 Q {, F& m1 ?) C! d x
//如果是文件夹中仍有文件夹,迭代之
. U9 m2 M$ Q8 J( I" P/ ` //如果不是,加入列表
5 o2 v; _ R7 \$ e // 不推荐使用,硬要使用的话,需要修改else 里面的语句
7 v. v- E( J* f1 p8 `2 q if((fileinfo.attrib & _A_SUBDIR))
' Y- i" \3 P i+ y) W3 G$ X8 M7 c {' V" h8 U0 y; Z2 ]8 b/ X" V
, m& p& N* C- M- _# h M+ g3 q if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0)
8 }5 W3 H. B( Q CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );3 y/ Q7 S5 i% c, C* ~7 `
4 {5 S, e1 t9 }: N# E6 O" n }3 H5 ~* x+ `8 S9 |1 t! J. A* u; e+ X
else
1 F* @+ a) w5 v1 i: Z* y6 Y' G* } {
7 \7 ]2 m% B; f: o8 { if (strstr(fileinfo.name,exd.c_str()))
% i& k n& u/ a6 ~" R! @0 { {1 n& u- I6 p* {4 A" Z- E
files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句! Q. Y) ^, q3 l( c2 r- k
}
7 T. y$ M/ R# x6 P
" R5 ^5 ]! K$ x2 C& ~% T //如果使用
% q8 e; k) J! |, F5 o# |1 i // files.push_back(fileinfo.name); // 只要得到文件名字使用该语句5 b) d8 B6 L3 \% w
}1 S' c- H+ R4 \5 M
}while(_findnext(hFile, &fileinfo) == 0);
6 Z1 K4 \- L2 d* x4 r, k# B G8 O _findclose(hFile);
8 e6 ~1 m. j1 k }
5 T$ X5 _+ o4 E! L9 @. {, w, p}
+ R' m8 [2 p9 y; ?6 d[/mw_shl_code]
0 e7 p; t( T, p/ i |
|