isRelative()的意外行为

Unexpected behaviour of isRelative()

本文关键字:意外 isRelative      更新时间:2023-10-16

我正在使用c++ Qt库,我正在过滤掉我的文件中的相对路径,而调试相对路径以外的几个字符串也被认为是相对路径。我想知道isRelative()的这种行为的原因,或者我做错了什么,下面的例子是给出true。

QFileInfo fi("1");
qDebug() << fi.isRelative();

我正在从一个文件中读取,其中只有少数条目是相对路径,因此不是仅为这些条目返回true, isRelative()对于许多值返回true,如:"1","0.0","NO"等

要使它不是相对的,你应该指定搜索位置的完整路径(绝对路径):

QFileInfo fi("/home/user/1");
qDebug() << fi.isRelative();

则不是相对的

在你的例子中,它相当于:

QFileInfo fi("./1");
qDebug() << fi.isRelative();

阅读:绝对路径vs相对路径