|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
2 Y" r0 U2 q5 K# R[mw_shl_code=cpp,true]#include <string>( o+ v ]5 y: G+ t( Z# B
#include <io.h>
" Q' k. J5 O2 J7 D#include <vector>( K) b8 b! f( g9 w
#include <iostream>
( g$ q3 h8 S4 F: F' M- D4 R( P3 }) q#include <fstream>% {6 A2 Z# d4 `2 C! O# A
using namespace std;, ?+ |7 V* [/ \- w6 Q+ T
( y! c" C" g# _, F3 D
. N" w" G+ M" y' z/************************************************************************/9 k8 j, K8 |9 H% j$ B
/* 获取文件夹下所有文件名
4 g' U9 t6 R! |9 R* `9 u 输入: : ?8 v0 g: U8 l) }; u N
path : 文件夹路径
/ N& a! z( V' l2 M' t1 H1 [( L exd : 所要获取的文件名后缀,如jpg、png等;如果希望获取所有
( ?7 p6 a* E- f 文件名, exd = ".jt"
/ J- @5 n, W; ? 输出:" |7 ~# C1 p5 {% g& I0 o5 c4 f
files : 获取的文件名列表 含有路径
, N0 ^# a, Y# l- s0 q*/
$ O8 l% t: Q2 |# Q( P; S' S, q/************************************************************************/
$ i# I" @0 ~8 H+ D: B; b3 ~; g M2 x$ t+ U5 e
void CONFIG_getFiles( string path, string exd, vector<string>& files )* F b* S) ~; u
{
; n* p7 R( U* _3 ?- b0 o //文件句柄
$ L& n& Z: Z( Z8 Z long hFile = 0;
% u) w1 M1 T/ l- {6 Q //文件信息
0 A) J* {, A1 O& g9 O1 W% d" I/ v9 E struct _finddata_t fileinfo;
5 E! l7 b& S. T/ L string pathName, exdName;% }6 p- d3 r# l5 X9 {- x6 S3 U
3 N9 d6 x- I$ i; [ string p;3 u ~) q3 v2 \) y7 q3 Y9 Q
if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) != -1). M: ^8 V3 m5 r. i& Q
{, z6 g& g Q" P: U* C8 `5 o
do X+ u% F3 Z: V' m
{, R4 \/ r8 Y* T5 s
//如果是文件夹中仍有文件夹,迭代之
# G8 A1 Q& Y! w" l9 J. v% ` //如果不是,加入列表, T& V& w2 _9 [. T9 E7 S7 |/ d* W8 o
// 不推荐使用,硬要使用的话,需要修改else 里面的语句# K# d7 a6 X* U8 p i- M
if((fileinfo.attrib & _A_SUBDIR))
, B0 e1 D/ @: t- R' v$ y {
3 j& v+ P9 e- [& v8 o 3 `" _% h$ d+ j9 C
if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0)5 | `) u* V, @4 ~9 y5 V8 c! a
CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );! {/ e. o+ [ Z) C2 b
2 q J: p5 M7 ]% ]8 x. X
}
6 X* C0 u; X. A# B. J% C else - W$ u+ t" ]% Q1 h$ [
{
3 |' B* B& A+ I% N2 j if (strstr(fileinfo.name,exd.c_str()))2 O) O+ C% K$ W& ^8 O7 M# w
{2 G P( S( H6 }' F' N- O
files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句
: W0 c# s8 `0 d# z+ ~ }6 E* g! g- F X' x6 Y
- K. N2 {/ t9 Y
//如果使用9 u6 Z( s: Q" a( F
// files.push_back(fileinfo.name); // 只要得到文件名字使用该语句
5 o X1 `1 h. x' b3 d7 R }
' Z, s" R5 E) C9 A }while(_findnext(hFile, &fileinfo) == 0);
' J% N9 m- f# _8 R4 l _findclose(hFile);
, J5 e5 ?8 ~" j4 i' Q: @. o }: u2 ^5 G* E: u: X3 K
}+ V; N k0 A% ^, w( ^7 ?
[/mw_shl_code]
0 F# y) `2 [ U& b1 p! a |
|