|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
_' l+ z# H- V$ T- f Q' K[mw_shl_code=cpp,true]#include <string>
% \% P- E8 }9 U: M2 m3 I. M#include <io.h>
1 ?$ b# Z3 t2 a( g4 ~#include <vector>
4 j1 U. K5 k+ g( }5 a8 O#include <iostream>
4 m# S6 g0 b5 T4 j- v. H- |0 p, L#include <fstream>/ H6 t( X" ^/ X" {
using namespace std;" k# c: H0 _$ w
4 _) j; X7 b, [- s* `
6 ~+ Y c. l' U: c' ]. u/************************************************************************/! K J a* C" w9 @' ?% m
/* 获取文件夹下所有文件名
R, l) A! m( i8 B! _ 输入:
; m" e% G- i' P" p4 \ path : 文件夹路径+ B0 J; b0 X8 k; w3 {6 _+ P
exd : 所要获取的文件名后缀,如jpg、png等;如果希望获取所有
& @) k4 z' O: M; u1 |9 v1 a 文件名, exd = ".jt" i# o" S$ {5 |
输出:" s% d j' |2 }1 p7 L- g/ _
files : 获取的文件名列表 含有路径0 y& ?- }. y9 z6 ]: v$ z8 t
*/
( J# I+ U' w/ o/ p4 @. I/************************************************************************/
7 p; u; |, q. M1 S+ z3 S6 y4 m- K% F0 h) g( f
void CONFIG_getFiles( string path, string exd, vector<string>& files )' I! ~/ Q% n' [; \% d) p6 ?
{
9 k& g, J/ `7 @ //文件句柄
1 O# x: Z* }2 T# o6 ^- I+ | long hFile = 0;5 M+ z* \9 F% L+ [
//文件信息& d3 L6 C1 r2 N7 Q+ G2 Y
struct _finddata_t fileinfo;
* }4 l: r4 x6 M5 p! A& O string pathName, exdName;+ _% N+ u( W- X
; R7 _+ s3 O; z9 d+ J) M
string p;2 H. C* u) D! Q' _ ~3 C
if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) != -1)
* i; z% ]( V2 [ {5 ~" Q1 J. w: h+ p: Y
do4 X; E. n- G T7 D0 C
{6 a6 q$ ], }1 y) L- P
//如果是文件夹中仍有文件夹,迭代之9 N% a+ B0 Q( o
//如果不是,加入列表% T6 W# M3 ^; S3 C
// 不推荐使用,硬要使用的话,需要修改else 里面的语句/ S8 l [% b( w5 C& f$ j2 [" P
if((fileinfo.attrib & _A_SUBDIR))
: _: j4 P* P" u8 g# I/ e5 }/ \( f% o {: \9 F7 T* f8 h: i
r. D4 P: I, a. I! V
if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0)/ F1 N9 ?3 I3 }
CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );
6 y3 ?' y# w2 F# Y9 N
" o- T' y/ F! G8 E6 i/ } }
0 W: G& ? Y. l0 _3 v2 z6 j else 6 r, h* t+ k: O2 V
{" n$ `/ v6 m |" F3 f+ n
if (strstr(fileinfo.name,exd.c_str()))% v3 n) B. g! @
{! }3 N' c2 O) M
files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句
% l2 B2 ^0 t5 M: T3 @6 S }
B8 E( ]7 U, ^- r5 t e
6 x& L* B6 r* B- M& ]' M! Q //如果使用2 c+ a! p9 R I/ V4 q; y0 J# r6 p
// files.push_back(fileinfo.name); // 只要得到文件名字使用该语句
3 E+ `0 U5 {& W# h: Z) u% @9 e }
1 i8 x7 C& I6 y5 l }while(_findnext(hFile, &fileinfo) == 0);, b5 E! e2 M" x8 y8 z* {" ?1 R+ K
_findclose(hFile);
. p* o5 f/ f$ K" d }. W' C' H$ l, m! U* T! n+ F
}' m0 j1 t/ R" }+ U
[/mw_shl_code], p! [2 B9 h7 i7 ^
|
|