|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
( |1 ~4 G0 U" V- b) B* F) T2 X/ Q# ^[mw_shl_code=cpp,true]#include <string>) U. Y) g3 R" O1 z
#include <io.h>
( }, {8 {+ N/ n: l& e6 y* Z#include <vector>
2 y, |4 ~- D1 B8 {#include <iostream>
2 D9 K5 n+ R# f, C2 r* K#include <fstream>' x- ~8 J8 f% O) Z, C% e8 n2 U/ s
using namespace std;
3 ]+ n+ r9 d7 U- L- C! x: u1 ^% }8 f2 L' P# x
5 |5 u+ `/ I7 }) e; ^
/************************************************************************/. q: P# H4 }6 ^6 v# ^) c; c& }0 w! v
/* 获取文件夹下所有文件名
6 n% t# g/ x+ B# P7 L# @8 R& e+ q4 \ 输入:
; @* g+ W# e6 P2 ~ path : 文件夹路径0 i) \5 ^9 j# r
exd : 所要获取的文件名后缀,如jpg、png等;如果希望获取所有( B; T |9 z' p1 y5 q6 X
文件名, exd = ".jt"$ @5 @/ G0 q' e4 G9 e& v0 c
输出:
A. r" ^: R8 g% {& P* S5 ]0 v files : 获取的文件名列表 含有路径. r' E' ]5 J; O' v, A0 p6 l
*/; w4 p8 w( \' v
/************************************************************************/% v; A# O9 Q& B- l6 [3 u& ?3 E3 d6 G
S. ^6 k. K1 U; Q) R
void CONFIG_getFiles( string path, string exd, vector<string>& files )5 e: u9 N: Q2 ]: A/ x z% D" o
{3 O5 s5 W0 a$ S2 p( Z k" s
//文件句柄
+ O2 q# ]6 v# _4 M) L1 S long hFile = 0;- u% j. j: j0 F
//文件信息' f+ f, ~# W- y6 d: @+ {
struct _finddata_t fileinfo;8 v" Y8 U* r1 N# H! r
string pathName, exdName;% o, e/ a! u9 Q' _: o3 N
; V& \+ m) J/ L9 @
string p; x9 }7 v/ O% v% }5 l& e' @
if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) != -1)2 ^, M! a, |% R! T/ _% q
{1 p2 Y1 W; Q% R; }8 K4 b# ?% a
do
0 c7 i2 n' a' n {
& N: ?7 `; O) V# A0 ?5 q% S @+ X //如果是文件夹中仍有文件夹,迭代之$ f' p9 \; ` X
//如果不是,加入列表
* s0 m( P0 I9 V // 不推荐使用,硬要使用的话,需要修改else 里面的语句
* a* N! j7 Z5 Q; Y4 G. l if((fileinfo.attrib & _A_SUBDIR)). Y% ~) q% A) `( k, J3 ^/ {
{3 t; F( ~7 c- O9 t
& d- p7 S1 {1 [0 H
if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0)
1 {2 y' d6 W: }( z CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );7 ]% b H7 L3 z. q) {5 f
( j3 L6 r6 r1 I
}
& U" N* @* ~. @4 D- Q else
9 B; D$ C) E2 M/ k6 S/ W {
9 p" z4 e/ G0 t0 h, g6 n if (strstr(fileinfo.name,exd.c_str()))6 ?0 `0 [# o; K2 |* h$ t
{. b5 C8 u2 c; {6 w4 T/ i$ ^
files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句
4 H8 N4 l8 h; H' g }0 i4 T% y& x" _' A+ O# K/ _4 h) w
$ L$ N% S; P1 o4 S. z' W //如果使用
* S7 [! g+ {2 ~8 t0 k! _5 Z! ^ // files.push_back(fileinfo.name); // 只要得到文件名字使用该语句6 O8 J" @7 v9 f# }% A* a& b |2 t
}
9 z# s9 Z# x+ P7 O- f }while(_findnext(hFile, &fileinfo) == 0);
% u1 k) H8 S7 V3 i _findclose(hFile);7 j# X& r5 G3 a. W
}
6 i- `% C( `9 m) G. R}6 u& g& h4 d: x; Z' I
[/mw_shl_code]
0 ]8 Z; T$ U0 C; b2 M5 y' u2 C9 R |
|