在C++中,可以使用以下方法来判断一个路径是相对路径还是绝对路径:
- 相对路径是相对于当前工作目录的路径,而绝对路径是从根目录开始的完整路径。你可以使用
std::filesystem::path
类来处理路径。
cpp
#include <iostream>
#include <filesystem>
int main() {
std::filesystem::path path("folder/file.txt");
if (path.is_relative()) {
std::cout << "相对路径" << std::endl;
} else {
std::cout << "绝对路径" << std::endl;
}
return 0;
}
- 另一种方法是使用文件系统库中的
std::filesystem::current_path()
函数获取当前工作目录,并将路径与待判断的路径进行比较。
cpp
#include <iostream>
#include <filesystem>
int main() {
std::filesystem::path path("folder/file.txt");
std::filesystem::path current_path = std::filesystem::current_path();
if (path == current_path / path) {
std::cout << "相对路径" << std::endl;
} else {
std::cout << "绝对路径" << std::endl;
}
return 0;
}
无论使用哪种方法,请确保你的编译器支持C++17或以上版本,并链接-lstdc++fs
才能使用文件系统库。