如何检测两个文件条目是否与Qt引用相同的物理文件系统?

时间:2017-07-31 22:29:07

标签: c++ qt filesystems

我有一个指向该文件和实际文件的链接。如何检测它们是否都指向相同的物理位置?

{{1}}

2 个答案:

答案 0 :(得分:2)

有一种方法可以检测给定的文件规范是符号链接规范还是真实的文件系统对象:

bool point2Same(QString path1, QString path2)
{
    QFileInfo fi1(path1);
    QFileInfo fi2(path2);

    QString p1, p2;
    if (fi1.isSymLink())
        p1 = fi1.symLinkTarget();
    else
        p1 = fi1.absolutePath();

    if (fi2.isSymLink())
        p2 = fi2.symLinkTarget();
    else
        p2 = fi2.absolutePath();

    return p1 == p2;
}

答案 1 :(得分:-1)

您可以扫描QFileSystemModel,也可以将其子类化?它是从指定根目录中提取文件系统的快捷方式,可以访问树和&它的属性。