0

我有这样的路径:

C:\路径\到\我的*文件\

我想获得相应的完整路径(如果存在):

C:\path\to\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)。

4

2 回答 2

4

用于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);
}
于 2013-07-03T12:04:33.300 回答
0

扩展文件名称为通配。在 Windows 上,函数 FindFirstFile() / FindNextFile() 执行 globbing。

于 2013-07-03T11:50:49.150 回答