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才能使用文件系统库。

相关推荐
皓月斯语15 小时前
B2132 素数对
c++·算法·题解
星轨初途16 小时前
LeetCode 热题 100——day2 字母异位词分组
c++·算法·leetcode
笨鸟先飞的橘猫17 小时前
c++面向对象编程
开发语言·c++
啦啦啦啦啦zzzz17 小时前
设计模式:桥接模式和组合模式
c++·设计模式·组合模式·桥接模式
-森屿安年-17 小时前
647. 回文子串
c++·算法·动态规划
fpcc17 小时前
c++应用网络编程之十七WebSocket
网络·c++·websocket
haolin123.17 小时前
类和对象(下)
c语言·开发语言·c++
皓月斯语18 小时前
P5736 【深基7.例2】质数筛
c++·算法·题解
鸿芯微控科技18 小时前
MFC质量流量控制器流量不准怎么排查?设定值、反馈值与参考流量对比,附Python代码
c++·python·mfc
拂拉氏18 小时前
【知识讲解】 让指针拥有“自我意识”?--C++智能指针相关内容讲解
c++·智能指针