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

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

[复制链接]

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

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

admin 楼主

2020-3-4 21:04:15

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

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

x

; [8 T- ^3 g9 j[mw_shl_code=cpp,true]#include <string>
9 o! i7 o# i3 |  U( g#include <io.h>/ A4 S- D& I3 M6 H
#include <vector># C3 R: G9 e4 r; i- v# Z
#include <iostream>! e0 f5 v  Q8 _# n9 m$ T
#include <fstream>
- c$ h$ X2 f' \using namespace std;
/ G& p3 o$ U" _9 L1 Z1 ]4 S, ?1 O7 a% e% _
         + e7 ~1 Q( H5 n, e2 f# l* B
/************************************************************************/' B9 ^+ L7 U0 N  |
/*  获取文件夹下所有文件名
* u0 H/ q# ?& E) @$ {- m& z    输入:     # n7 p' l* ?' b
        path    :   文件夹路径
* |& |. J( C( q, I+ X        exd     :   所要获取的文件名后缀,如jpg、png等;如果希望获取所有* C7 ?- g! v* B( G* d
                    文件名, exd = ".jt"
4 t( h  D# O3 \4 S5 B" f% \    输出:' S' m+ }6 l) U0 F# |
        files   :   获取的文件名列表 含有路径
, _- i8 T7 U% C( z*/
* a& T6 g( j5 D" @% E* ?$ G4 [/************************************************************************/! }9 X/ A& l, ^8 q0 f. Q0 k& V

; f1 D  x5 H/ }% i0 Wvoid CONFIG_getFiles( string path, string exd, vector<string>& files )
. y" ]" I$ w# j{
* t1 ]; y: b" [        //文件句柄
+ [; u( ]: s$ c% O    long   hFile   =   0;
, b' X0 Y$ A, P0 l    //文件信息( P3 ~/ W1 O9 Q5 `  m' w9 e+ @7 j
    struct _finddata_t fileinfo;
, A) _% p; M( d" I" }    string pathName, exdName;
9 g; v% q2 j; r6 j7 F
6 r9 b8 ~9 R2 }4 G& F     string p;2 k# A/ n# A# X2 W6 {5 R6 ]. h
        if((hFile = _findfirst(pathName.assign(path).append("\\*").c_str(),&fileinfo)) !=  -1)
% w5 J4 h, p, ]5 f    {& K1 @; T; A+ e8 t
        do1 v& P/ N# x7 P. K3 L% r% e: O
        {
! n! d( z3 q  c( X  D+ v" \            //如果是文件夹中仍有文件夹,迭代之. E1 n4 B. Y2 R7 G8 B" w5 o- v: o
            //如果不是,加入列表' }6 K7 ?0 T+ y2 k% R' q6 g! B
            // 不推荐使用,硬要使用的话,需要修改else 里面的语句. d' E+ s+ e' Y: p3 M
           if((fileinfo.attrib &  _A_SUBDIR))6 e" t0 g) [, r$ J- S5 N
            {
. c- z- O  n4 V" \                                ; O4 X6 g9 y: t$ F- A  Q8 t
              if(strcmp(fileinfo.name,".") != 0  &&  strcmp(fileinfo.name,"..") != 0)
) I. ^+ v9 A7 Y$ I# l                           CONFIG_getFiles( pathName.assign(path).append("\\").append(fileinfo.name), exd, files );
- Y) `( x1 ^  L7 O" Y- N; r
. F+ }% ?$ n7 k9 N            }4 [5 _) I) p4 b
            else " H& X  n- b; d; B, |) O" O
            {
0 p' n" W# K; W1 x+ r* b! v                                if (strstr(fileinfo.name,exd.c_str()))1 t( E+ R: S4 ], n: L; h
                                {
: \1 ]( A; V8 G5 y7 M) C% e% b$ D, ]0 o                                         files.push_back(pathName.assign(path).append("\\").append(fileinfo.name)); // 要得到绝对目录使用该语句8 Z+ C+ {7 s9 V* ~3 Y8 C  v
                                }
0 m% I, ?; W$ t2 [6 r/ d6 [, n5 ~
. Y8 d' `! x# C$ j8 R6 E& X                    //如果使用
1 A/ r; @5 v* U* a6 l, E                  //  files.push_back(fileinfo.name); // 只要得到文件名字使用该语句0 C- k2 ~8 u' r3 U
            }
, B3 E7 k+ U" z        }while(_findnext(hFile, &fileinfo)  == 0);4 \+ Y  ]" |4 l7 R/ I+ C! a
        _findclose(hFile);* V# b: H! |6 v  J% V
    }
" ~3 o8 L8 @7 X$ n+ B}1 F  L+ a- N- M
[/mw_shl_code]
: Q6 q+ P0 M+ U* U1 L* ~4 s& B# v
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了