C++ 索引文件名及其内容

C++ 索引文件名及其内容,c++,regex,file,indexing,directory,C++,Regex,File,Indexing,Directory,我想写一个程序,索引文件名及其在给定目录中的内容。如果它们与给定的正则表达式匹配,那么我想对它们进行索引。我将使用正则表达式函数 我真的不知道该怎么开始 我将使用多态方法: 具有基本信息(名称、父目录…)的类基(虚拟) 一个类文件,一个Base的子类,表示一个文件 表示目录的类文件夹/directoy 我也在考虑用地图建树 请告诉我您对此的看法好吗?对于文件系统功能,请使用 对于正则表达式,使用C++11,否则使用 安装和学习Boost时遇到的任何初始(!)问题都会很快得到回报 对于地图,请使用

我想写一个程序,索引文件名及其在给定目录中的内容。如果它们与给定的正则表达式匹配,那么我想对它们进行索引。我将使用正则表达式函数

我真的不知道该怎么开始

我将使用多态方法:

  • 具有基本信息(名称、父目录…)的类基(虚拟)
  • 一个类文件,一个Base的子类,表示一个文件
  • 表示目录的类文件夹/directoy
  • 我也在考虑用地图建树


    请告诉我您对此的看法好吗?

    对于文件系统功能,请使用

    对于正则表达式,使用C++11,否则使用

    安装和学习Boost时遇到的任何初始(!)问题都会很快得到回报

    对于地图,请使用
    std::map


    无论如何,不要重新发明轮子。

    我恐怕不能使用Boost.Filesystem或Boost.Regex。这是一个家庭作业,我只能使用几个库。@rusol:你必须实现你自己的正则表达式吗?在家庭作业中?认真地那么,你可以使用哪些图书馆呢?C++本身对文件系统访问几乎无能为力。至少,您必须使用操作系统提供的系统库。我仍然建议您看看Boost.Filesystem,从中获得一些灵感。我个人不会使用OOP。我可以使用正则表达式函数,标准C++和C库。更不幸的是。你为什么不使用OOP?@rusol:因为随着复杂性的增加,你不会得到太多回报。看看:“为什么path不是一个具有派生目录类和文件类的基类?”事实上,再看看,你会发现设计一个好的文件系统库是多么困难。