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

相关推荐
Yupureki2 分钟前
《Linux系统编程》16.进程间通信-共享内存
linux·运维·服务器·c语言·数据结构·c++
看山是山_Lau7 分钟前
如何封装和定义一个函数
c语言·开发语言·c++·笔记
-许平安-15 分钟前
MCP项目笔记五(PluginAPI)
c++·笔记·rpc·json·mcp·pluginapi
C_Si沉思21 分钟前
C++与硬件交互编程
开发语言·c++·算法
tankeven23 分钟前
HJ148 迷宫寻路
c++·算法
xiaoye-duck34 分钟前
《算法题讲解指南:优选算法-链表》--53.重排链表,54.合并 K 个升序链表,55.K个一组翻转链表
c++·算法·链表
j_xxx404_42 分钟前
蓝桥杯基础--前缀和
数据结构·c++·算法·蓝桥杯·排序算法
chh5631 小时前
从零开始学习C++ -- 基础知识
开发语言·c++·windows·学习·算法
旺仔.2911 小时前
顺序容器:list双向链表 详解
数据结构·c++·链表·list
楼田莉子1 小时前
CMake学习:CMake在静态库工程场景上应用
开发语言·c++·后端·学习·软件构建