#include <QStringList>
#include <QDebug>
#include <QDir>
int main( int argc, char *argv[] )
{
Q_UNUSED( argc );
Q_UNUSED( argv );
const QString root { "C:/Test" };
QDir rootDir { root };
qDebug() << "Root Path:" << rootDir.absolutePath();
qDebug() << "Root List:" << rootDir.entryList( QDir::Dirs ) << '\n';
QStringList dirs;
dirs << "A" << "B";
for ( int i = 0; i < dirs.size(); ++i )
{
if ( rootDir.cd( dirs.at( i ) ) )
{
foreach ( QString filename, rootDir.entryList( QDir::Files ) )
{
qDebug() << "filename:" << filename;
}
qDebug() << rootDir.absolutePath();
rootDir.cdUp();
qDebug() << rootDir.absolutePath();
}
else
{
qWarning() << "cd: Failed!";
}
}
return EXIT_SUCCESS;
}
I2luY2x1ZGUgPFFTdHJpbmdMaXN0PgojaW5jbHVkZSA8UURlYnVnPgojaW5jbHVkZSA8UURpcj4KCmludCBtYWluKCBpbnQgYXJnYywgY2hhciAqYXJndltdICkKewogICAgUV9VTlVTRUQoIGFyZ2MgKTsKICAgIFFfVU5VU0VEKCBhcmd2ICk7CgogICAgY29uc3QgUVN0cmluZyByb290IHsgIkM6L1Rlc3QiIH07CgogICAgUURpciByb290RGlyIHsgcm9vdCB9OwogICAgcURlYnVnKCkgPDwgIlJvb3QgUGF0aDoiIDw8IHJvb3REaXIuYWJzb2x1dGVQYXRoKCk7CiAgICBxRGVidWcoKSA8PCAiUm9vdCBMaXN0OiIgPDwgcm9vdERpci5lbnRyeUxpc3QoIFFEaXI6OkRpcnMgKSA8PCAnXG4nOwoKICAgIFFTdHJpbmdMaXN0IGRpcnM7CiAgICBkaXJzIDw8ICJBIiA8PCAiQiI7CgogICAgZm9yICggaW50IGkgPSAwOyBpIDwgZGlycy5zaXplKCk7ICsraSApCiAgICB7CiAgICAgICAgICAgICAgICBpZiAoIHJvb3REaXIuY2QoIGRpcnMuYXQoIGkgKSApICkKICAgICAgICB7CiAgICAgICAgICAgIGZvcmVhY2ggKCBRU3RyaW5nIGZpbGVuYW1lLCByb290RGlyLmVudHJ5TGlzdCggUURpcjo6RmlsZXMgKSApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHFEZWJ1ZygpIDw8ICJmaWxlbmFtZToiIDw8IGZpbGVuYW1lOwogICAgICAgICAgICB9CgogICAgICAgICAgICBxRGVidWcoKSA8PCByb290RGlyLmFic29sdXRlUGF0aCgpOwogICAgICAgICAgICByb290RGlyLmNkVXAoKTsKICAgICAgICAgICAgcURlYnVnKCkgPDwgcm9vdERpci5hYnNvbHV0ZVBhdGgoKTsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgcVdhcm5pbmcoKSA8PCAiY2Q6IEZhaWxlZCEiOwogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gRVhJVF9TVUNDRVNTOwp9Cg==