У меня есть каталог под названием test. Этот каталог создается динамически при запуске другой части кода. И тест содержит разные файлы. Эти файлы также генерируются автоматически. Предположим, что я создал a1.txt, a2.txt, ac, a3.txt, bc в тесте каталога. Я хочу получить имя файла a3.txt в переменной. Это означает, что я хочу перебирать содержимое каталога и получать имя файла ".txt", связанного с наибольшим числом. Пожалуйста, помогите мне в решении этой проблемы.
Ниже приводятся как каталоги, так и файлы в данном каталоге.
using namespace std;
int getDirContent (string dir, vector<string> &files) {
DIR *dp;
struct dirent *dirp;
if ((dp = opendir(dir.c_str())) == NULL) {
cout << "Error(" << errno << ") opening " << dir << endl;
return errno;
}
while ((dirp = readdir(dp)) != NULL) {
files.push_back(string(dirp->d_name));
}
closedir(dp);
return 0;
}
string dir = string(".");
vector<string> files = vector<string>();
getDirContent(dir,files);
Используя функцию opendir,
DIR *opendir(const char *name);
После открытия этого каталога, используя readdir
получите файлы в этом каталоге.
struct dirent *readdir(DIR *dirp);
Используя структуру, вы можете получить имя файла, и вы можете использовать этот файл.