Метод is_relative
Метод is_relative класса path проверяет,
является ли путь относительным. Путь считается относительным,
если он не содержит корневого элемента, то есть не начинается
с корня файловой системы. Метод не принимает параметров
и возвращает true, если путь относительный,
и false в противном случае.
Синтаксис
path.is_relative()
Пример
Давайте проверим, является ли путь
"abcde" относительным:
#include <iostream>
#include <filesystem>
using namespace std;
namespace fs = std::filesystem;
int main()
{
fs::path p = "abcde";
cout << p.is_relative() << endl;
return 0;
}
Результат выполнения кода:
1
Пример
Давайте проверим, является ли абсолютный путь
"/var/www/index.html" относительным:
#include <iostream>
#include <filesystem>
using namespace std;
namespace fs = std::filesystem;
int main()
{
fs::path p = "/var/www/index.html";
cout << p.is_relative() << endl;
return 0;
}
Результат выполнения кода:
0
Пример
Давайте проверим относительный путь
"dir/file.txt" и выведем понятный результат:
#include <iostream>
#include <filesystem>
using namespace std;
namespace fs = std::filesystem;
int main()
{
fs::path p = "dir/file.txt";
if (p.is_relative()) {
cout << "Path is relative" << endl;
} else {
cout << "Path is absolute" << endl;
}
return 0;
}
Результат выполнения кода:
"Path is relative"
Смотрите также
-
метод
is_absolute,
который проверяет, является ли путь абсолютным -
метод
root_path,
который возвращает корневой путь -
метод
parent_path,
который возвращает родительский путь -
метод
lexically_normal,
который возвращает нормализованный путь