qt获取文件夹内和子文件夹所有图片和txt文件的名称,把图片和txt文件名称分别存起来,并保存每个子文件夹的第一张图片和最后一张图片名字,并且写出具体代码...

以下是使用Qt编写的获取文件夹内和子文件夹所有图片和txt文件的名称,并将图片和txt文件名称分别存储,并保存每个子文件夹的第一张图片和最后一张图片名字的代码:

#include <QCoreApplication>
#include <QDir>
#include <QFileInfo>
#include <QImage>
#include <QDebug>

int main(
以下是使用Qt编写的获取文件夹文件夹所有图片txt文件名称图片txt文件名称分别储,保存每个文件夹第一张图片最后一张图片名字代码: ```cpp #include <QCoreApplication> #include <QDir> #include <QFileInfo> #include <QImage> #include <QDebug> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QDir dir("/path/to/folder"); // 替换为要获取文件夹路径 QStringList filters; filters << "*.jpg" << "*.jpeg" << "*.png" << "*.bmp" << "*.gif" << "*.txt"; dir.setNameFilters(filters); dir.setFilter(QDir::Files | QDir::NoDotAndDotDot | QDir::NoSymLinks); QStringList imageFiles; QStringList txtFiles; QMap<QString, QStringList> subfolders; QStringList fileNames = dir.entryList(); foreach (QString fileName, fileNames) { QString filePath = dir.absoluteFilePath(fileName); QFileInfo fileInfo(filePath); QString suffix = fileInfo.suffix().toLower(); if (suffix == "jpg" || suffix == "jpeg" || suffix == "png" || suffix == "bmp" || suffix == "gif") { imageFiles.append(fileName); } else if (suffix == "txt") { txtFiles.append(fileName); } // 保存每个文件夹第一张图片最后一张图片名字 QString subfolder = fileInfo.path().remove(dir.path() + "/"); if (subfolders.contains(subfolder)) { subfolders[subfolder].append(fileName); } else { QStringList fileList; fileList.append(fileName); subfolders.insert(subfolder, fileList); } } // 输出结果 qDebug() << "Image files:"; qDebug() << imageFiles; qDebug() << "Text files:"; qDebug() << txtFiles; qDebug() << "Subfolders:"; QMapIterator<QString, QStringList> iter(subfolders); while (iter.hasNext()) { iter.next(); QString subfolder = iter.key(); QStringList fileList = iter.value(); qDebug() << subfolder; if (fileList.size() >= 2) { qDebug() << "First image: " << fileList.first(); qDebug() << "Last image: " << fileList.last(); } } return a.exec(); } ``` 这个程序首先创建一个QDir对象,用于表示要搜索的文件夹。然后,设置了过滤器,只搜索图片文件txt文件并且排除"."".."目录符号链接。然后,获取文件夹中的所有文件名称每个文件进行处理,根据文件扩展名将其添加到imageFiles或txtFiles列表中。还使用QMap保存每个文件夹第一张图片最后一张图片名称,以文件夹路径作为键,图片文件名列表作为值。 最后,程序输出了结果。您可以将"qDebug()"替换为适当的输出方法(例如,将文件名写入文本文件),以将结果保存文件中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值