Всем привет. Есть код:
cout << "\n\tEnter directory: ";
string dir = "";
getline(cin, dir);
char buffer[128];
string result = "";
FILE* pipe = _popen(("dir /b " + dir).c_str(), "r");
if (!pipe) throw std::runtime_error("popen() failed!");
try {
while (fgets(buffer, sizeof buffer, pipe) != NULL) {
result += buffer;
}
}
catch (...) {
_pclose(pipe);
throw;
}
_pclose(pipe);
vector<string> arr;
string delim("\n");
size_t prev = 0;
size_t next;
size_t delta = delim.length();
while ((next = result.find(delim, prev)) != string::npos) {
string tmp = result.substr(prev, next - prev);
arr.push_back(result.substr(prev, next - prev));
prev = next + delta;
}
string tmp = result.substr(prev);
arr.push_back(result.substr(prev));
В переменной
result
хранятся элементы в папке. В
arr
хранятся те же найденные элементы с помощью
dir /b
только они разделены на подстроки и внесены в массив. Мне нужно их отсортировать и занести в другой массив только те строки, в которых есть символ\строка "." (точка), то есть файлы. Помогите