如果你想使用 QDir
来处理路径并提取 /aikit/awakenword.ini
,可以利用 QDir
的功能来获取文件的相对路径。下面是一个示例代码,展示了如何实现这一点:
#include <QString>
#include <QDir>
#include <QCoreApplication>
#include <QDebug>
QString getRelativePath(const QString &fullPath) {
// 使用 QDir 获取路径的基目录
QDir dir(QCoreApplication::applicationDirPath());
// 创建一个 QDir 对象,从 fullPath 中创建一个目录对象
QDir fullDir(fullPath);
// 获取相对路径
QString relativePath = dir.relativeFilePath(fullDir.absoluteFilePath());
return relativePath; // 返回相对路径
}
int main(int argc, char *argv[]) {
QCoreApplication app(argc, argv);
QString szAwakenwordFile = QDir::toNativeSeparators(QCoreApplication::applicationDirPath() + "/aikit/" + "awakenword.ini");
QString result = getRelativePath(szAwakenwordFile);
qDebug() << result; // 输出结果:"/aikit/awakenword.ini"
return app.exec();
}
在这个例子中,我们首先用应用程序的路径创建一个 QDir
对象。然后,再用完整的文件路径创建另一个 QDir
对象。接着,调用 relativeFilePath()
方法获取从应用程序目录到目标文件的相对路径。
这样,你就能得到类似于 /aikit/awakenword.ini
的结果。这种方法更具灵活性,因为它能够自动处理不同操作系统之间的路径分隔符问题。
内容由零声教学AI助手提供,问题来源于学员提问