PLM之家PLMHome-工业软件与AI结合践行者

[二次开发源码] 获取一个文件夹下所有指定类型的文件名

[复制链接]

2020-3-4 21:04:15 1500 0

admin 发表于 2020-3-4 21:04:15 |阅读模式

admin 楼主

2020-3-4 21:04:15

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x

  J- L0 T  U4 a& D" M+ Y, m0 p2 u[mw_shl_code=cpp,true]#include <string>! R! v# e) V7 i4 D
#include <io.h>
9 E" b# F, t3 ?/ S3 J#include <vector>
" g# w: n6 h& d: e8 D, _#include <iostream>3 W& Z3 V( P. }7 i
#include <fstream>
/ [: w) o/ w/ Q, Y1 I+ {using namespace std;
3 N* \4 h: S. h: L3 K
$ Q5 j& c9 D4 D1 _$ j         " j3 e- Z2 |  U
/************************************************************************/
- u# }1 C9 Z$ Y/*  获取文件夹下所有文件名: S# D* e$ W; M
    输入:     0 K  P/ s- b7 r$ ^0 F0 f" k
        path    :   文件夹路径0 |" X, Q- d4 @( L
        exd     :   所要获取的文件名后缀,如jpg、png等;如果希望获取所有& ~) p% y) \& Y- v: N' U
                    文件名, exd = ".jt"
; T- @' U, A9 ^    输出:
1 X) _7 |3 q! e* _3 h- q5 R- C$ t        files   :   获取的文件名列表 含有路径7 N; t4 X6 h2 D1 P( v
*/
) v& g4 o+ y; v2 ?4 q2 c; A& G( B/************************************************************************/
' ]6 w: W/ ~5 g; H
) n' \  a! }9 o. m# ivoid CONFIG_getFiles( string path, string exd, vector<string>& files )+ `9 I" M3 e' V4 E  O" j
{1 v- p" T; {' }$ i+ N/ q
        //文件句柄; m) C/ K/ F0 K# j$ q
    long   hFile   =   0;
4 b, D& X8 q$ d    //文件信息" G1 s7 \5 m2 V
    struct _finddata_t fileinfo;
2 K- h( I2 [+ K. A2 M$ M$ |    string pathName, exdName;- \4 C. E$ [0 o! ~. h7 n' l7 \' {* p

$ F( H, ?3 s4 P     string p;1 \- w& }; D8 v5 G2 [4 E% H
        if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) !=  -1)& l0 G3 a' p, ?
    {
7 J- r3 B1 g  G2 s5 c( Y$ W        do: P4 O) |3 j' t+ N# [$ `
        {
7 f+ c$ Z7 p) ?            //如果是文件夹中仍有文件夹,迭代之
# d5 H& H$ c" b! Z+ u! `* Q9 P            //如果不是,加入列表# M2 Y; Q1 H. d9 Q; ]4 ^0 a
            // 不推荐使用,硬要使用的话,需要修改else 里面的语句
5 y- n) j" J0 a) y           if((fileinfo.attrib &  _A_SUBDIR))# @' F" Z% P' [% p
            {+ s6 o- v: @5 ~" Z; J( d& w; v% Y
                               
9 I/ f# n5 i# [9 M, V: ?* u              if(strcmp(fileinfo.name,".") != 0  &&  strcmp(fileinfo.name,"..") != 0)4 I: ?. W6 T1 l, i
                           CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );
2 K) v) W4 N8 n: U0 a/ T* A% O5 F6 l/ g7 F1 ^8 D
            }8 Q" D; r& q1 A- N
            else ) J& @6 `' l5 B5 S) `3 T5 {! w
            {
2 S3 P! |0 j7 i' |! r' m* _                                if (strstr(fileinfo.name,exd.c_str()))- l* e) a* L! ?! |. e, W: O
                                {
, Y; }- [$ A% P" k                                         files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句! S, v( M' w1 ~1 {3 ^1 u/ M$ |
                                }- W: u8 T4 E2 t; z0 n+ H
1 S5 Y2 _+ r6 S2 Q! Y. L
                    //如果使用* J1 ?6 h1 k/ U: M$ g1 e4 R- ]
                  //  files.push_back(fileinfo.name); // 只要得到文件名字使用该语句" f1 Y" X& S+ Z6 f$ ~
            }
/ A$ ~; ]  d3 f) \2 X+ q        }while(_findnext(hFile, &fileinfo)  == 0);
! c5 f8 l4 q1 J        _findclose(hFile);
/ V/ k, A0 T% o: j    }: Q* z9 l& A2 Y# J5 C
}! G0 Q. c$ Z3 G
[/mw_shl_code]$ k' T0 T, n& x/ Z8 e+ r
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了