在C ++中搜索文件夹

时间:2012-07-11 01:11:57

标签: c++ file search directory

我有点像编程的初学者,我需要一个任务的帮助来编写一个脚本,该脚本接受一些文件夹的字符串输入,在cmd中当前位置的现有文件夹中搜索文件夹列表,它显示哪一个存在,哪一个不存在。在存在的那些中,它显示了里面有多少文件。

例如,我在桌面目录中(比如它包含a,bb,c),我输入a,b,aa,bb,它将搜索当前所有文件夹名称的a,b,aa,bb目录,然后它输出a,bb,c存在,aa,b不存在。然后它显示a,bb,c。

中有多少个文件

我时间不够,任何直接的帮助都会非常感激。

2 个答案:

答案 0 :(得分:1)

我建议Boost.Filesystem,这是一个跨平台的库,抽象文件系统操作,例如查询文件属性,创建,复制和移动文件。作为奖励,建议在未来版本的C ++ ISO标准中进行标准化。

作为一个起点,这是一个处理给定目录中每个文件的示例。

#include <boost/filesystem.hpp>
#include <iostream>

int main(int argc, char* argv[])
{
    if(argc == 2)
    {
        boost::filesystem::path directory(argv[1]);

        if (boost::filesystem::exists(directory) && boost::filesystem::is_directory(directory))
        {
            boost::filesystem::directory_iterator begin(directory);
            boost::filesystem::directory_iterator end;

            while(begin != end)
            {
                std::cout << *begin << " ";
                ++begin;
            }   
            std::cout << "\n";
        }   
    }
}

它告诉你,你可以:

  • 遍历目录中的每个文件
  • 查询是否存在给定路径
  • 查询给定路径是否指向目录

您可能感兴趣的其他功能:

答案 1 :(得分:0)

有一些很棒的图书馆使这个非常轻松和跨平台。

Qt和Boost是最知名的。

以下是相关课程文档的链接:

Boost FilesystemQt QDir

我更喜欢Qt,因为文档已经很长时间统一了,我也非常喜欢IDE。