Как получить полный путь от одного с подстановочными знаками?

У меня есть путь как:

C: \ путь \ к \ мой * файл \

и я хотел бы получить соответствующий полный путь (если он существует):

C: \ путь \ к \ my1file \

Я пытался с этим кодом Qt, но результат тот же путь, который я имел в начале:

QStringList filters;
filters << "C:/path/to/my*file/";

QDir dir;
dir.setNameFilters(filters);

QStringList dirs = dir.entryList(filters);

_path = dirs.at(0);     // get the first path only

Разве я не должен получить все файлы / каталоги, которые проходят через фильтр?
Почему _path равен «C: / path / to / my * file /»?

Можно ли сделать то же самое только с C ++ 98 / STL? (В этом проекте я не могу использовать Boost / C ++ 11).

0

Решение

использование filters для фильтрации файлов / папок и установки пути в объекте QDir:

QStringList filters;
filters << "my*file";

QDir dir("C:/path/to/");
QStringList dirs = dir.entryList(filters);

if (dirs.size() > 0)
{
qDebug() << dirs.at(0);
}
4

Другие решения

Расширение имен файлов называется globbing. В Windows функции FindFirstFile () / FindNextFile () выполняют глобализацию.

0

По вопросам рекламы [email protected]