|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
9 k8 J- \6 F! o
[mw_shl_code=cpp,true]#include <string>
$ x- L" n4 O4 t" N! f3 J6 b#include <io.h>
& Y5 U! J, z6 S9 ~& v#include <vector>9 E3 h2 j, B9 C, [; ~% S5 ~4 D
#include <iostream>
& G' Y: N/ [/ z0 ^#include <fstream>
8 g3 s( E7 O# [ n0 U/ {using namespace std;% c/ C5 A3 t& H1 c" @" T) w
0 H! _+ X4 O! ~) E, S
: v4 c/ d2 Q) ?" U- R- D0 ^/ A- T' S/************************************************************************/" `& r, R, ] t& Z7 z- J- K. Y
/* 获取文件夹下所有文件名7 l6 m# n! N$ [4 L# K: k3 [" j4 y
输入: 4 q6 _5 s3 X3 K5 P; }( T/ T
path : 文件夹路径
5 F8 \/ G7 V* u/ W( }3 x exd : 所要获取的文件名后缀,如jpg、png等;如果希望获取所有5 A1 z0 G6 d4 w, E" y; v! X8 i
文件名, exd = ".jt"2 z/ S! v5 I' N$ i9 I4 N, I# d
输出:
* U+ k4 C2 u; t X+ L7 b* W2 n# Q files : 获取的文件名列表 含有路径: `( e+ @1 R" o* A- K* C
*/
" ~- |# a. d# K* k9 t/************************************************************************/' U9 A' P4 ^0 U& F8 y. P$ y" q8 [5 K
) E7 Z: N" G9 L
void CONFIG_getFiles( string path, string exd, vector<string>& files )' w/ B, Z7 Y3 [; ?( h
{
4 N, T% d& \2 V( T0 {; W //文件句柄
( z) U( i( J$ T1 y% f4 g* n long hFile = 0;5 X2 T& a! e8 Z! ?
//文件信息
. ]: q" V/ }7 x& R( s3 X9 ^( M; y struct _finddata_t fileinfo;% F8 y& w: @9 S
string pathName, exdName;* {1 a. p7 _& \2 ` T1 n
5 I& N1 o d/ \, n
string p;
% F4 y8 H- ^# J" [ if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) != -1)
0 ?6 i* l# B1 Q7 F {
! S3 ^+ r( z* i, U do
: i6 Q; Z8 y' E% ] {% m5 M8 D5 [) u$ z' p
//如果是文件夹中仍有文件夹,迭代之
7 r, n8 q5 z# L/ ~ //如果不是,加入列表& E# k6 v& s! O3 }
// 不推荐使用,硬要使用的话,需要修改else 里面的语句 t+ ?7 h1 u9 H; I
if((fileinfo.attrib & _A_SUBDIR))- ]0 @3 @& X0 R2 C# z8 K; M& o
{' P- Z5 D9 m$ d: K0 Y
0 S! o4 c4 h" \$ j6 G+ F
if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0)! v/ ? s) X- k% c
CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );% o2 d% }0 a) @. {' R
2 ^! Q! U% R6 Q% S }4 c2 U; b+ j( V x
else $ N0 a* T. U5 J; E: w5 F. C' U% D
{$ A0 B4 T) `0 U% z) T4 ^
if (strstr(fileinfo.name,exd.c_str()))$ l1 b; a: P3 c2 v- C6 V+ g, y& D6 m
{
3 B4 G, s- K2 Q files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句9 T9 k6 }( {$ ]9 r$ d; L! b
}- Q# a* o& U9 i7 h* ^! y
9 y$ q3 w l3 I6 _ I/ w0 V# c' t //如果使用
, a* D9 [% P; q. i/ K // files.push_back(fileinfo.name); // 只要得到文件名字使用该语句
# U5 O o, w! r9 j9 E7 y }) y6 [2 Q* M" X8 W" I7 Z: l
}while(_findnext(hFile, &fileinfo) == 0);0 U/ V6 B! H0 e: k# e% W
_findclose(hFile);
& z" r) r6 R) y5 s; s" i5 a I9 i1 Q }: A3 \, j' m0 f* c* [1 L& R
}
8 ? ]8 g' K$ d1 Q& a2 _3 d[/mw_shl_code]% P# O7 B* ~) v
|
|