void getFileListDfs(const QString& path, QPair<QStringList, QStringList>& list, const QString& deep)
{
for(const QString& file : QDir(path + deep).entryList(QDir::Files)){
list.first.append(deep + file);
}
for(const QString& dir : QDir(path + deep).entryList(QDir::Dirs | QDir::NoDotAndDotDot)){
list.second.append(deep + dir);
getFileListDfs(path, list, deep + dir + '/');
}
}
QPair<QStringList, QStringList> getFileList(const QString& path)
{
QPair<QStringList, QStringList> list;
int pos = path.lastIndexOf('/');
const QString& m_deep = path.mid(pos);
list.second.append(m_deep);
getFileListDfs(path.left(pos), list, m_deep + '/');
return list;
}
int main()
{
qDebug() << getFileList("~");
return 0;
}
QT获取路径下所有文件和文件夹
最新推荐文章于 2024-08-27 10:59:02 发布