牛骨文教育服务平台(让学习变的简单)
博文笔记

Linux下C++获得文件夹下的文件名

创建时间:2017-08-07 投稿人: 浏览次数:344

#include <sys/types.h>
#include <dirent.h>
#include <stdio.h>
#include <errno.h>

/**
    Linux下扫描文件夹, 获得文件夹下的文件名
*/
int scanFiles(vector<string> &fileList, string inputDirectory)
{
    inputDirectory = inputDirectory.append("/");

    DIR *p_dir;
    const char* str = inputDirectory.c_str();

    p_dir = opendir(str);   
    if( p_dir == NULL)
    {
        cout<< "can"t open :" << inputDirectory << endl;
    }

    struct dirent *p_dirent;

    while ( p_dirent = readdir(p_dir))
    {
        string tmpFileName = p_dirent->d_name;
        if( tmpFileName == "." || tmpFileName == "..")
        {
            continue;
        }
        else
        {
            fileList.push_back(tmpFileName);
        }
    }
    closedir(p_dir);
    return fileList.size();
}
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。