zoukankan      html  css  js  c++  java
  • c/c++获取文件夹下所有文件名

    如何获取某一文件夹下所有文件名,是一个很有意思的问题。网上代码很多,找了个简单的,特此收录。

    #include <iostream>
    #include <io.h>
    #include <string>
    #include <vector>
    using namespace std;
    
    void getFiles(string, vector<string>&);
    
    int main(int argc,char **argv)
    {
        vector<string> files;
    
        getFiles( argv[1], files );
    
        // print the files get
        for(int j=0; j< files.size(); ++j)
        {
            cout << files[j] << endl;
        }    
        return 0;
    }
    
    void getFiles(string path, vector<string>& files)
    {
        //文件句柄
        long hFile = 0;
        //文件信息
        struct _finddata_t fileinfo;
        string p;
    
        if((hFile = _findfirst(p.assign(path).append("\*").c_str(),&fileinfo)) !=  -1)
        {
            do
            {
                //如果是目录,迭代之
                //如果不是,加入列表
                if ((fileinfo.attrib &  _A_SUBDIR))
                {
                    if(strcmp(fileinfo.name,".") != 0  &&  strcmp(fileinfo.name,"..") != 0)
                        getFiles( p.assign(path).append("\").append(fileinfo.name), files );
                }
                else
                {
                    files.push_back(p.assign(path).append("\").append(fileinfo.name) );
                }
            }while(_findnext(hFile, &fileinfo)  == 0);
            _findclose(hFile);
        }
    }

    原文链接如下:http://blog.sina.com.cn/s/blog_670d5f330100lqnm.html

  • 相关阅读:
    Ajax跨域解决实例
    关于tween.js测试介绍
    signal() 和 sigaction()
    信号概述
    监控文件事件
    栈和栈帧
    进程结构和内存布局
    关于文件I/o的原子操作
    查询Linux系统中glibc的版本
    IOPS和Throughput
  • 原文地址:https://www.cnblogs.com/gattaca/p/4082368.html
Copyright © 2011-2022 走看看