C++如何判断相对路径和绝对路径

在C++中,可以使用以下方法来判断一个路径是相对路径还是绝对路径:

  1. 相对路径是相对于当前工作目录的路径,而绝对路径是从根目录开始的完整路径。你可以使用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;
}
  1. 另一种方法是使用文件系统库中的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才能使用文件系统库。

相关推荐
智者知已应修善业2 分钟前
【51单片机初始化D5-D8亮,每按键按下D1到D4全亮,再按下恢复,如此循环】2024-3-26
c++·经验分享·笔记·算法·51单片机
为何创造硅基生物15 分钟前
C++ 独占指针被销毁后,堆也会自己销毁
c++
C+-C资深大佬26 分钟前
C++ 中的 constexpr与 const区
java·开发语言·c++
Tairitsu_H34 分钟前
[LC优选算法#3] 滑动窗口 | 将x减到0的最⼩操作数 | ⽔果成篮 | 字⺟异位词
c++·算法·leetcode·滑动窗口
c++之路39 分钟前
CMake 系列教程(一):CMake 基础知识
c语言·开发语言·c++
Irissgwe43 分钟前
C++ STL bitset 和位图详解
开发语言·c++·stl·位图·bitset
万法若空1 小时前
C/C++基本类型表示范围
c语言·开发语言·c++
凡人叶枫2 小时前
Effective C++ 条款15:在资源管理类中提供对原始资源的访问
linux·开发语言·c++·stm32·单片机
郝学胜-神的一滴2 小时前
中级OpenGL教程 009:用环境光告别模型死黑
前端·c++·unity·godot·图形渲染·opengl·unreal
cccyi72 小时前
C++ 面试题整理
c++·面试