ZBLOG

ivwengine.cpp:194:74: error: too few arguments to function call, single argument 'fileName' was not specified qdir.h:133:5: note: 'absoluteFilePath' declared here

根据错误信息,absoluteFilePath() 方法的使用似乎存在问题。absoluteFilePath()QDir 类的方法,它实际上不需要传递任何参数,因为它会返回当前目录的绝对路径。因此,我们可以直接从 QDir 对象调用这个方法,而不需要创建另一个 QDir 对象。

下面是修正后的示例代码,展示了如何使用 QDir 来处理文件路径并获取 /aikit/awakenword.ini

#include <QString>
#include <QDir>
#include <QCoreApplication>
#include <QDebug>

QString getRelativePath(const QString &fullPath) {
    // 使用 QDir 获取路径的基目录
    QDir dir(QCoreApplication::applicationDirPath());

    // 将 fullPath 转换为 QDir 对象
    QFileInfo fileInfo(fullPath);
    
    // 获取相对路径
    QString relativePath = dir.relativeFilePath(fileInfo.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();
}

在这段代码中,我们通过 QFileInfo 来获取完整文件路径,并将其传递给 relativeFilePath() 方法来获取相对路径。这种方法确保了我们能够正确处理和引用文件的绝对路径。

重要说明:

  • 请确保包含必要的头文件,如 <QFileInfo>
  • 如果你只想得到特定文件(例如 awakenword.ini)的相对路径,可以直接用所需目录构造 QString,而不是依赖于动态生成。


    内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=20070

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?