【发布时间】:2018-11-28 08:14:43
【问题描述】:
我应该如何从给定的 PATH 中搜索整个文件/文件夹,并在其所有内容中搜索特定的字符串?
我知道我必须以某种方式递归地执行此操作,除非有一个函数可以搜索路径中的所有内容。而且我必须打开找到的每个文件并检查其中的特定字符串。但是 Visual Studio 是如何打开文件的呢?它可以打开任何类型的文件,还是只打开基于文本的文件?
到目前为止,我所做的只是:
#include <iostream>
#include <filesystem>
using namespace std;
namespace fs = std::experimental::filesystem;
void ShowFiles(string path)
{
for (auto &p : fs::directory_iterator(path))
cout << p.path().filename() << '\n';
}
int main()
{
ShowFiles("D:/TEST/testFOLDER/");
}
仅打印给定 PATH 中的文件夹/文件,而不打印其文件夹内的文件夹/文件。
编辑:我应该使用 DIR* 和 dirent* 吗?会不会容易些?
【问题讨论】:
标签: c++ string recursion search path