|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
1 V# t8 U) ]3 i. ]3 l. k# V
[mw_shl_code=cpp,true]#include <string>
H1 T. k6 j# E" {. m ~6 J#include <io.h>
* ]6 ^ M7 z( m#include <vector>
% W0 K/ f( e! T5 H- w! C; Q#include <iostream>
' J; p. \: a& y% A* H#include <fstream>: a% d1 I% U$ I f, F
using namespace std;) R" C6 S F6 p; b' P2 F5 _4 `
2 N+ c5 }0 D0 s: j 9 s7 [8 I, S# I9 u }+ i8 u) B, J
/************************************************************************/
9 a2 p! v9 W! c/ B3 f' ^/* 获取文件夹下所有文件名1 t) I! r; R. I( ^5 E' e
输入: 4 C) S- Z* s: a6 {
path : 文件夹路径
. }# i* O0 `! ~, n6 D exd : 所要获取的文件名后缀,如jpg、png等;如果希望获取所有* k5 S$ J1 g$ Z) r: u$ a8 @ Q( k
文件名, exd = ".jt"
- z4 p1 \4 ]6 R 输出:3 {3 }4 B* j4 H' H. N1 m W
files : 获取的文件名列表 含有路径% d' q5 M3 z9 T$ C! ^
*/) X, ?+ x) o7 `9 r' y
/************************************************************************/
9 q6 ?7 ^( v! Y! R: y( X) G8 T( g' X$ @, s, ]2 b$ w4 f8 Z
void CONFIG_getFiles( string path, string exd, vector<string>& files )
( C) F( X" M" M9 \4 n{0 D" n4 F0 C& Z8 b
//文件句柄: c* f" @7 @' y* T$ R; R d
long hFile = 0;
7 n( j- N. U) g# d //文件信息# o* D& m& m1 M4 G ^6 Z
struct _finddata_t fileinfo;7 D# b6 @. M4 |6 V' G5 Q9 K
string pathName, exdName;
0 c! a2 V1 v# m' s" L9 j5 [. }+ U8 I! M) t' y; u! ]9 e
string p;, K3 Z. o M1 L6 r
if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) != -1)
) F# I6 H0 _9 J2 u& E2 E {
$ B5 a) x4 V4 p5 }. X0 A do5 M% L w1 e+ R& C) n g6 {( d# Q
{
% C- w, A; j6 m4 N //如果是文件夹中仍有文件夹,迭代之
( `* ^ F! N* J //如果不是,加入列表
% K9 M2 O! ]" i9 u: d" U // 不推荐使用,硬要使用的话,需要修改else 里面的语句# d) V" V7 C( g2 w- e
if((fileinfo.attrib & _A_SUBDIR))9 ?- Q, W7 m' q6 u p0 d
{) y6 M+ }! C. I. D* K
8 i+ Y1 N& o3 ~
if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0)
, Y6 G$ C$ ^2 ]4 g- W) R CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );% I, v4 S1 l. k0 r
5 U7 [, E+ s; F ~4 O& |
}4 ]& n, H9 b8 }' s& ~- r* z# A* c7 M
else
( {; H V _, n L& h {7 y- V3 c" f3 u6 |/ E) t
if (strstr(fileinfo.name,exd.c_str()))
: r. n L: H6 T) W6 r: [/ E { W4 W1 l. Z C9 N" A+ R
files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句
- t9 A5 i7 Y- j! M1 _ }" C" X' c8 x; k1 I3 X8 T) D A5 e
3 d! `0 x. Z$ h //如果使用
' n! g: o* C$ X$ x9 V* u // files.push_back(fileinfo.name); // 只要得到文件名字使用该语句
0 r7 `- j a9 ~% n }
7 K0 w j( o( p6 c }while(_findnext(hFile, &fileinfo) == 0);( r9 Y* h: S! Z8 w$ ~8 Y* }
_findclose(hFile);( v! p3 Z& T( |9 W3 V
}
, q8 y7 u1 g* v1 `3 c}9 O+ M! s5 c4 B4 H- [- O; D
[/mw_shl_code]
1 b7 [1 }! i( D4 | |
|