Задание следующие: пользователь вводит адрес директории и ключевое слово, моя задача найти все текстовые файлы в этой директории, которые содержат это ключевое слово. Вот мой код:
void ShowListFile(string p,string word)
{
for (auto i = fs::directory_iterator(p); i != fs::directory_iterator(); i++)
{
if (!fs::is_directory(i->path()))
{
if (i->path().extension() == ".txt")
{
string find;
find = p + "\\";
find += i->path().filename().string();
ifstream fin(find);
cout << find << endl;
int l;
string wr;
string str1;
string str2;
str2 = word;
while (getline(fin, wr))
{
for (int l = 0; l <= wr.length(); l++)
if (wr[l] != ' ' && l != wr.length())
str1 = str1 + wr[l];
else if (wr[l] == ' ' || l == wr.length())
{
if(str1 == str2)
{
cout << i->path().filename().string() << "Есть слово" << endl;
fin.close();
continue;
}
str1 = "";
}
}
fin.close();
//cout << i->path().filename().string() << endl;
}
}
else
continue;
}
}
Т.е в чем суть, в p передается путь,а word это ключевое слово. Но почему-то он не находит нужные текстовые файлы
Виртуальный выделенный сервер (VDS) становится отличным выбором
Проблема: Синтаксическая конструкция цикла for для итераторов стандартна
Хочу воспользоваться первым вариантом этого метода, чтобы генерировать псевдослучайные числа с нормальным распределением
как можно запретить ввод букв внутри терминала? Жмем клавишу, программа сразу отрабатывает, понимает, что это буква и ничего не происходитЖмем...