PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

PLM之家PLMHome-国产软件践行者

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

[复制链接]

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

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

admin 楼主

2020-3-4 21:04:15

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

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

x

& d% R2 t0 }: V/ U/ x[mw_shl_code=cpp,true]#include <string>+ e2 r/ g( `9 h9 j6 |
#include <io.h>  N- k8 I$ i1 ?8 ^" ]$ ]
#include <vector>* |9 T& k; l# Z8 j
#include <iostream>
% K" f) r0 W# T8 d- |' @% b#include <fstream>7 j7 j3 b9 D0 p# g8 x: N" y6 C% z
using namespace std;
6 N! O, T3 F: U+ D6 j) P$ Y% y5 k3 x  k! ?, r  ]9 B" E% P; b8 [
         
5 r, a5 D: @1 q/ Q/************************************************************************/
4 {- u" z4 p3 I4 ?' S! r8 }/*  获取文件夹下所有文件名
( e! _7 P" v# `  i& i- V) p% }1 |    输入:     $ D( c8 i! X  C6 l; j4 v
        path    :   文件夹路径
5 [# O" x1 r- s6 k        exd     :   所要获取的文件名后缀,如jpg、png等;如果希望获取所有* R" q+ y! q$ z2 _1 {( Y
                    文件名, exd = ".jt"
9 P5 e/ g7 {( u, Y/ B  U8 g7 u# ^    输出:" V0 l# H8 M/ e' d: i( Q
        files   :   获取的文件名列表 含有路径, q$ e. m7 Z- R+ K
*/
$ T! z3 e6 e3 ^4 y! U1 e! u/************************************************************************/
8 l2 k* U/ i: O/ X. w. y5 T9 @; M( l2 t8 W" }5 Y
void CONFIG_getFiles( string path, string exd, vector<string>& files )
( C6 R7 d2 u0 M6 I( o- v8 O{3 A: I' A3 k) L% \8 n# H$ n
        //文件句柄+ b; G1 ?- b3 b9 l, L2 q
    long   hFile   =   0;+ x8 G) B6 ?0 r' b2 C
    //文件信息
/ p2 _2 u4 J' r# k: s6 ^8 Q$ Y    struct _finddata_t fileinfo;
3 D8 k0 q4 }; z    string pathName, exdName;  h% _' q2 c2 I& s
/ Z, N! @2 y1 H/ F
     string p;
% R! g+ I% h6 G0 A8 b        if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) !=  -1)
9 J" R# e" X, ~% k6 |    {1 ^2 j9 Z) k" K: |# v
        do
3 I( E- N/ t$ e% S( {        {
% h3 U- j, j- \" r& r* `            //如果是文件夹中仍有文件夹,迭代之
7 [/ [8 [/ H& K) J; f( I            //如果不是,加入列表
% @9 L  A; `; x4 Z" \* U            // 不推荐使用,硬要使用的话,需要修改else 里面的语句3 o+ f7 u5 T) t- j6 P
           if((fileinfo.attrib &  _A_SUBDIR))
7 `3 b; u2 Q  n' d0 @% p/ v  u% g            {# G; G8 A6 r" R2 Y3 P, E, a0 |
                               
( c1 g: E+ g7 {) W, w              if(strcmp(fileinfo.name,".") != 0  &&  strcmp(fileinfo.name,"..") != 0)
7 i3 ^3 A' B$ N) @8 B, a/ l                           CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );# t/ f1 P) I" @* ^- r$ x$ K2 w7 L# B

4 Y8 x5 j- @3 a            }. }' M! [% q& G
            else
0 k. l" [/ A3 r  j            {+ N) S* F& D1 u9 z8 M' d+ S
                                if (strstr(fileinfo.name,exd.c_str()))
* c+ ]- t7 I. ^0 L! g; Z                                {- _, f3 k1 d0 r$ H+ ?4 b! c6 U1 L' |
                                         files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句# ]& {: L& o- B9 O! o& J% Z" O" U
                                }
, A2 ~  ]! X& x  k% L& {- U+ S1 N/ A% o6 j
                    //如果使用
/ C/ H8 ]9 I& W# @/ k; V5 l                  //  files.push_back(fileinfo.name); // 只要得到文件名字使用该语句
1 L! t4 h. [& {/ c7 ?            }
$ A+ U, x) t) @& A$ u        }while(_findnext(hFile, &fileinfo)  == 0);
3 ~: k! @+ ?" Q2 {  F        _findclose(hFile);
1 j/ P1 g7 x" }    }
! f! e4 p; V* W2 F. ^- j}$ }+ z! y# l0 O' [) L( U& l
[/mw_shl_code]; n5 R+ q) k" ?! m9 W$ M" B- l
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了