使用QDir访问路径下所有文件并且存放在容器QVector中。
头文件
#include <QDir.h>
#include <sys/types.h>
主函数
int main()
{
QString path = "./servo";
QVector<QString> filename;
_GetfileName(path,filename);
qDebug() << "filename:" << filename.size();
for(int i = 0; i < filename.size(); i++)
{
qDebug() << "FIle_name:" << filename[i].data();
}
}
实现:
void ServoParameterWidget::_GetfileName(QString path, QVector<QString>& filenames)
{
QDir dir(path);
if(!dir.exists()) return;
//遍历路径下所有的文件,生成文件列表
dir.setFilter(QDir::Files|QDir::NoSymLinks);
QFileInfoList list = dir.entryInfoList();
for(int i = 0;i<list.count();i++)
{
filenames.push_back(list.at(i).filePath());//文件名+路径
}
}
拓展:如果想用使用容器中的文件名可以这样用
char* SERV_INI_FILE = const_cast<char *>(filename[i].toLocal8Bit().data());
小白路过~