|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
, ~+ j. f; j3 }" `. r4 N1 l1 L
[mw_shl_code=cpp,true]#include <string>! d/ R# V& W! S% y: b" k$ X/ S5 i
#include <io.h>6 U& L( k( s) _* s* }
#include <vector>
) G+ W0 c0 j, w, f8 k. F' I#include <iostream>
8 ~; k, L4 Z$ a7 G4 C6 d) ^#include <fstream>% i2 Y3 K" P3 s8 b6 u6 Y
using namespace std;3 W( S( ]) H" Q+ A) ^
1 g a0 ?2 x8 r
0 K0 y2 } M4 [/ j: ]. ~( V! i
/************************************************************************/1 d1 q# V/ s* [' _% c2 B! h9 A4 [0 M
/* 获取文件夹下所有文件名4 }" r2 s9 u2 F; Q4 U
输入:
; P- V$ |4 C2 t. o( u9 o path : 文件夹路径
( q5 e- i0 Q( V E9 Y4 _ exd : 所要获取的文件名后缀,如jpg、png等;如果希望获取所有7 a* \: E5 I, X9 t
文件名, exd = ".jt"
8 O; U! C) v+ B M/ y j 输出:
o( H* A3 X/ u: S6 T5 e0 `5 h files : 获取的文件名列表 含有路径6 l, n5 w/ n6 `' F( F' f
*/$ s: X9 o9 V9 R3 C
/************************************************************************/
( L1 d* f Y1 [9 `3 C2 e6 Y2 _6 r' \' o; J
void CONFIG_getFiles( string path, string exd, vector<string>& files )
! ^0 F5 t& N* }) o+ {1 r{
]) e2 | l9 g: P& D //文件句柄$ V% m7 P% l( s$ }) g2 e- t/ i$ o
long hFile = 0;3 e3 J" g' W" g0 X6 U/ E
//文件信息
8 M+ e5 j( L7 N; q$ X struct _finddata_t fileinfo;
) s/ J; b6 t3 C& [* \; {9 s string pathName, exdName;
. [& k% x: W* x2 s! G0 y: F8 {5 }6 [- o2 h
string p;5 j$ C! B; @1 V4 E3 x& P9 ?" P0 q
if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) != -1)+ R( U( o, K* R- U
{& t/ r. J9 m/ U1 g; R/ X
do$ W: D/ }6 g$ ^% ^8 B1 Y6 y
{
+ v/ S, q8 A, R; ` //如果是文件夹中仍有文件夹,迭代之* ?) J1 ~; u1 B+ W: s/ x( z( [( M* ^
//如果不是,加入列表7 J7 Z$ S6 E u2 z
// 不推荐使用,硬要使用的话,需要修改else 里面的语句6 v* s2 k0 V' O \
if((fileinfo.attrib & _A_SUBDIR))
7 Z* T! y: T- i! r6 R {
* P1 L4 w& [2 K( A6 J/ _* T" o
/ \1 k: Q$ M* u+ B0 U( T7 l if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0)
" A/ B( V0 Q5 @0 U: a6 _ u: R/ O CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );% S/ y- \' ~: G u& r
9 G$ @7 b4 `0 z. y- \ f5 V }8 c6 y5 F& k. l% ^4 `( t
else $ e; p: z+ `! E+ c7 _1 y
{' ~6 v2 r( \3 z+ i% s
if (strstr(fileinfo.name,exd.c_str()))6 ~ }' }3 Z8 @( @
{. N1 e1 W" T* }
files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句
" s9 [$ \" I" j }
) Y. I9 H# K4 l6 \% J, H, a! k0 T3 ?: G0 }. A+ z* e% p, ]" H
//如果使用
' I% ^% G1 J: I: m& Z# m3 t! n // files.push_back(fileinfo.name); // 只要得到文件名字使用该语句
2 t- r; B( h: E1 h3 @ }
# `3 L1 y5 j) {/ [ }while(_findnext(hFile, &fileinfo) == 0);3 n2 H2 v* V# f* n4 A8 U+ {
_findclose(hFile);
+ f* I, Z; @4 A6 L } I1 c. S7 Y5 o3 h5 }; n: f
}
3 }& ]' d) i9 q/ c1 C[/mw_shl_code]! Y/ m& i* f. \' r1 M+ W
|
|