qt如何获取一个文件夹内所有文件名称到QString pUsrFileName[]中,如"CalibrateData.xml"放在这个数组中
时间: 2024-03-16 17:45:58 浏览: 63
管理文本-Qt诺基亚官方中文教程L3_Qt的数据类型机会及文件
在Qt中,可以使用QDir类获取一个文件夹内所有文件名称,并将文件名存储到QString数组中。具体代码如下:
```cpp
#include <QDir>
#include <QFileInfoList>
#include <QStringList>
QString folderPath = "your_folder_path";
QDir folder(folderPath);
QStringList fileNames;
QFileInfoList fileInfoList = folder.entryInfoList();
foreach(QFileInfo fileInfo, fileInfoList) {
if (fileInfo.isFile()) {
fileNames.append(fileInfo.fileName());
}
}
// 将文件名存储到QString数组中
QStringList targetFiles = { "CalibrateData.xml" };
QStringList matchedFiles;
for (int i = 0; i < fileNames.size(); i++) {
if (targetFiles.contains(fileNames.at(i))) {
matchedFiles.append(folderPath + "/" + fileNames.at(i));
}
}
QString pUsrFileName[matchedFiles.size()];
for (int i = 0; i < matchedFiles.size(); i++) {
pUsrFileName[i] = matchedFiles.at(i);
}
for (int i = 0; i < matchedFiles.size(); i++) {
qDebug() << pUsrFileName[i];
}
```
其中,'your_folder_path'需要替换为你所需获取文件名称的文件夹路径。执行该代码后,会将文件名存储到QString数组pUsrFileName[]中,如果文件夹内存在目标文件,则该文件的完整路径会被存储到pUsrFileName[]中。这里将目标文件名存储到QStringList targetFiles中,可以根据需要自行修改。
阅读全文