Не хочу весь код выкладывать поэтому вот рабочий его кусок:
#include <iostream>
#include <string>
#include <cstdlib>
#include <cstdio>
#include <memory>
#include <array>
#include <fstream>
using namespace std;
int main() {
char psBuffer[128];
FILE* pPipe;
string tmp_com = "findstr ";
string comn2 = "";
string comn = "";
ifstream inputFile("D:\\Downloads\\
vk.com \\flist.txt");
string selectedString;
string tmpstr = "";
system("cd D:\\Downloads\\
vk.com \\1");
if (
inputFile.is _open()) {
cout << "list of files is open!" << endl;
getline(inputFile, selectedString);
comn.append("findstr \"1girl\" ").append(selectedString);
if ((pPipe = _popen(comn.c_str(), "rt")) != NULL) {
fgets(psBuffer, 128, pPipe);
tmpstr = string(psBuffer);
int endOfFileVal = feof(pPipe);
int closeReturnVal = _pclose(pPipe);
}
else {
cout << "0000x0000" << endl;
}
}
else {
cerr << "errn" << endl;
exit;
}
system("pause");
}
D:\\Downloads\\
vk.com \\1 - это папка с файлами
D:\\Downloads\\
vk.com \\flist.txt - это файл c результатом вывода команды "dir /a:-d /b *.txt"
Собственно сам поиск реализовал через команду findstr вместе с _popen(), чтобы перехватить результат команды cmd можно было. По итогу получаю, что findstr не может открыть текстовый файл, хотя даже программу запускаю от имени администратора. Руками получается, а если код исполняет уже не выходит.