码迷,mamicode.com
首页 > 编程语言 > 详细

c++输出一个文件夹下的所有文件的文件名

时间:2016-04-18 22:17:40      阅读:376      评论:0      收藏: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);
    }
}
void mian()
{
    InitConsoleWindow1();
    char * filePath = "E:/gait/004";
    vector<string> files;

        getFiles(filePath, files);

        char str[30];
        int size = files.size();
        for (int i = 0; i < size; i++)
        {
            cout << files[i].c_str() << endl;
        }
}

因为当时写的是个mfc框架,Initconsolewindow1()是为了能在mfc运行时输出控制台信息

void InitConsoleWindow1()
{
    int nCrt = 0;
    FILE* fp;
    AllocConsole();
    nCrt = _open_osfhandle((long)GetStdHandle(STD_OUTPUT_HANDLE), _O_TEXT);
    fp = _fdopen(nCrt, "w");
    *stdout = *fp;
    setvbuf(stdout, NULL, _IONBF, 0);
}

 

c++输出一个文件夹下的所有文件的文件名

标签:

原文地址:http://www.cnblogs.com/Daringoo/p/5405946.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!